【问题标题】:Override route values with user preferences values用用户偏好值覆盖路线值
【发布时间】:2011-11-17 14:10:48
【问题描述】:

我有一条具有默认搜索值的路由,例如排序=新和显示=全部

在我的网络应用中,每个经过身份验证的用户都有自己的偏好,他们可以在其中设置自己的默认搜索条件。

如何使路由使用用户值而不是 global.asax 中指定的默认值?例如。排序=成本和显示=本周

到目前为止,我已经尝试了许多不同的方法,但都无济于事

【问题讨论】:

  • 想知道我是否需要基本控制器?看起来我可以在那里修改路线值?唯一的问题是......由于这些路由值有默认值,我怎么知道每个值是否要被覆盖?如果 URL 明确表示排序为 new,则用户首选项不应覆盖它
  • 好的,现在已经为我的所有控制器实现了一个基本控制器,如果我重写 Execute 方法,我现在可以修改路由值。如果我能分辨出是否指定了路由值,或者它是否只是使用 global.asax 中的默认值,那就太好了。如果它只是使用默认值,我可以用用户偏好设置代替。显然,如果它在 url 中,我不想用参数替换它。希望这是有道理的?

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


【解决方案1】:

我设法使用 BaseController 和重写的 Execute 方法获得了我想要的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-29
    • 2011-06-19
    相关资源
    最近更新 更多