【发布时间】:2011-11-17 14:10:48
【问题描述】:
我有一条具有默认搜索值的路由,例如排序=新和显示=全部
在我的网络应用中,每个经过身份验证的用户都有自己的偏好,他们可以在其中设置自己的默认搜索条件。
如何使路由使用用户值而不是 global.asax 中指定的默认值?例如。排序=成本和显示=本周
到目前为止,我已经尝试了许多不同的方法,但都无济于事
【问题讨论】:
-
想知道我是否需要基本控制器?看起来我可以在那里修改路线值?唯一的问题是......由于这些路由值有默认值,我怎么知道每个值是否要被覆盖?如果 URL 明确表示排序为 new,则用户首选项不应覆盖它
-
好的,现在已经为我的所有控制器实现了一个基本控制器,如果我重写 Execute 方法,我现在可以修改路由值。如果我能分辨出是否指定了路由值,或者它是否只是使用 global.asax 中的默认值,那就太好了。如果它只是使用默认值,我可以用用户偏好设置代替。显然,如果它在 url 中,我不想用参数替换它。希望这是有道理的?
标签: asp.net-mvc asp.net-mvc-routing