在url中使用id列表的替代方法

时间:2014-10-29 12:06:12

标签: asp.net-mvc asp.net-mvc-3 url routing

目前我有一个MVC 3项目,我正在使用{controller} / {action} / {id}作为路由,并设法使用{id}作为一个字符串的逗号列表以逗号分隔{“id1,id2} ,id3“}它工作得很完美,但是传递URL中的ID对我来说听起来不太好,因为它可能是100个或更多id的列表(在URL中不好甚至功能)。 所以,请问有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

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

parent> id: 1

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

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

答案 1 :(得分:0)

有多种选择。

一种方法是创建一个模型,其中包含您希望保存的ID列表。您可以将这些ID存储在隐藏字段中的View中,然后在调用Action时,只需将模型传回。

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

这是我想到的最初几个。还有许多其他创造性的解决方案,但可能不可行或无用。