ASP.NET MVC 2点返回链接到适当的视图
题
ASP.NET MVC 2生成的默认脚手架视图包含:
<%: Html.ActionLink("Back to List", "Index") %>
<%: Html.ActionLink("Create New", "Create") %>
如果我从同一词根进入此页面,这些链接是完美的。但是例如,如果我有订单和人员,并且我会导航到 /Orders/Edit/17
通过 /Persons/Orders/3
, ,然后“返回列表”将我返回到我想去哪里的命令,而不是扎根,因为“编辑订单”视图只知道订单。这使导航尴尬并破坏流程。
我想重复使用相同的“编辑订单”视图,无论我来自哪里,但我不确定如何传递此信息。
我知道可以通过类似的参数 /Orders/Edit/17?myparam=myvalue
但是,如果我需要传递指示网格的排序/过滤顺序的参数,这将稍后限制我的选择?
将返回/来源位置传递给我的视图的首选方法是什么,以便它可以正确地呈现链接?否则,如何将视图与控制器不同?
编辑:
有关干净的解决方案,请参阅 这个帖子
解决方案
只要您不使用相同的名称,传递参数就不会真正限制您。 Querysrings有尺寸限制,但是您可能不会击中它。
这基本上就是我的做法。我很想知道别人的回答。
其他提示
这种功能似乎是在框架中应考虑的东西。必须指定这些参数似乎相当骇客,因为您必须在每个导航级别上这样做。
为什么?返回是在浏览器中属于历史的东西。一段时间以来,为什么要处理框架?
您需要的不是规范。
此外,您有责任保持代码干燥。您绝对可以以您所拥有的所有重复的方式处理它。
不隶属于 StackOverflow