2014-10-29 21 views
0

目前我有一个MVC 3项目,我使用{controller}/{action}/{id}作为路由并管理使用{id}作为一个id列表字符串逗号分隔{“id1,id2,id3”}它工作完美,但在URL中传递ID对我来说听起来不太合适,因为它可能是100个或更多ID的列表(在URL中不好或甚至没有功能) 。 请问有没有更好的方法来做到这一点?在url中使用id列表的替代方案

+0

这是干什么用的? – 2014-10-29 13:04:51

+0

对于某些情况下,我想筛选数据库结果, – Capoutcha 2014-10-29 13:09:47

+1

如果您希望此url可共享,则可以将该组ids存储在数据库中,并通过指向该组的单个ID将其公开。 – 2014-10-29 13:13:47

回答

0

检查您的数据库,是否有您可以利用的父母/子女关系?例如:

parent> id: 1 

child> id: 1, parent_id: 1 
child> id: 2, parent_id: 1 
child> id: 3, parent_id: 1 

如果没有,我认为你坚持使用这个解决方案。

0

有多个选项可用。

一种方法是创建一个带有您想要保存的ID列表的模型。您可以将这些ID存储在隐藏字段中的视图中,然后在调用您的操作时只需将模型传回。

另一种方法是使用Session变量来保存Id列表。当然,这是时间敏感(我相信Session的默认时间是5分钟)。如果需要更长时间,则需要查看其他想法。

这些是首先想到的几个。还有许多其他创意解决方案,但可能不可行或无法使用。