ASP.NET MVC 2生成的默认scaffolded视图包含以下链接:
<%: Html.ActionLink("Back to List", "Index") %>
<%: Html.ActionLink("Create New", "Create") %>
如果我从同一个根来到这个页面,这些链接是完美的。但是,例如,如果我有订单和人员,并且我通过/Orders/Edit/17
导航到/Persons/Orders/3
,那么'返回列表'会将我返回到订单根而不是人根,我想去的地方,因为' “编辑订单”视图仅了解订单。这使导航变得笨拙并打破了流程..
我想重复使用相同的“编辑订单”视图,无论我来自何处,但我不确定如何传递此信息。
我知道可以传递像/Orders/Edit/17?myparam=myvalue
这样的参数,但如果我需要传递指示网格的排序/过滤顺序的参数,这会限制我的选择吗?
将返回/原点位置传递给视图的首选方法是什么,以便它可以正确呈现链接?否则,如何以与控制器不同的方式调用视图?
编辑:
要获得干净的解决方案,请参阅THIS POST
答案 0 :(得分:1)
只要您不使用相同的名称,通过查询字符串传入参数就不会真正限制您。查询字符串有一个大小限制,但你可能不会打它。
这基本上就是我的表现。我很想知道其他人的回答。
答案 1 :(得分:0)
这个功能似乎应该在框架中考虑到了;必须指定这些参数似乎相当苛刻,因为您必须为每个导航级别执行此操作。
为什么呢? back是属于浏览器的东西,还有历史。它已经有一段时间了,为什么框架需要处理呢?
你需要的不是常态。
此外,您有责任保持代码干燥。你绝对可以处理它,你所拥有的所有重复都是你正在调用的函数的名称。