【发布时间】:2010-06-10 17:21:15
【问题描述】:
许多 MVC 框架(例如 PHP 的 Zend 框架)都有一种通过 URL 提供基本状态管理的方法。基本原理是这样的:
任何未明确修改或取消设置的参数都会被复制到每个 URL 中
例如,考虑一个带有分页的列表。您将获得作为 URL 参数传递的顺序、方向和页码。您可能还有几个过滤器。更改过滤器的值不应改变排序顺序。
默认情况下,ASP.net MVC 似乎会记住您的控制器和操作:
<%: Html.RouteLink("Next", "MyRoute", new {id = next.ItemId}) %>
这不会重新设置您的操作或控制器。但是,它似乎确实忘记了所有其他参数。 ActionLink 也是如此。
之前在您的 URL 中设置的参数似乎也被保留了。
有没有办法让它保留更多?
例如,这似乎不会影响正在生成的任何链接:
RouteData.Values["showDeleted"] = true;
【问题讨论】:
-
你能发布一个你想要创建的 URL 示例吗?
-
/Items/List?showDeleted=1&order=FirstName&direction=ASC /Items/Details/1? showDeleted=1&order=FirstName&direction=ASC /Items/Delete/1?showDeleted=1&order=FirstName&direction=ASC
标签: c# .net asp.net-mvc routing