【问题标题】:Use MVC routing to alias a controller使用 MVC 路由给控制器起别名
【发布时间】:2010-12-16 20:13:28
【问题描述】:

我有一个名为 InstallationController 的控制器,以及一个名为 Rate Card 的安装报告表示,但最终用户坚持自己调用安装Rate Cards .我希望他看到 URL http://site/RateCard/Edit/3,它实际上被路由为 http://site/Installation/Edit/3。如何在 MVC 3 RC2 中做到这一点?

【问题讨论】:

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


    【解决方案1】:

    有几个选项,您可以将控制器重命名为 RateCardController,或添加指向安装控制器的新路由,例如:

    routes.MapRoute(
                   "RateCard", // Route name
                   "RateCard/{action}/{id}", // URL with parameters
                   new { controller = "Installation", action = "Index", id = UrlParameter.Optional } // Parameter defaults
                   );
    

    【讨论】:

    • 我要在默认路由之后添加吗?似乎不起作用 - 我只是使用 site/RateCard 得到一个 404@
    • @ProfK:如果您还有其他控制器,则此控制器应默认路由之前通过,否则默认路由会尝试路由到不存在的RateCardsController。另一种选择是将此路由放在 默认路由之后,但您必须向默认路由添加一个约束以忽略 RateCards 控制器名称。
    猜你喜欢
    • 2014-12-15
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    • 2013-06-11
    • 1970-01-01
    相关资源
    最近更新 更多