【问题标题】:MVC Route specific URL to specific action?MVC 将特定 URL 路由到特定操作?
【发布时间】:2013-07-03 15:35:00
【问题描述】:

我想保持 area/controller/action/id 的常规路由

但有 1 个额外的 url /login 转到 /account/account/login。(区域命名帐户,控制器命名帐户,操作是登录)

有没有办法可以指定这个路由?我的客户正在请求登录页面的较短 URL。

【问题讨论】:

  • 路由按顺序解释。只需在顶部添加一条到/login 的路线。你尝试了什么?

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


【解决方案1】:

是的,您可以简单地在RouteConfig 中创建一个路由

示例

routes.MapRoute("Login", 
    "login", 
    new { controller = "account", action = "login" },
    new string[] { "MyApp.Areas.Account.Controllers" });

【讨论】:

  • 感谢您的帮助。我试过这个:`routes.MapRoute("Login", "login", new { area = "Account", controller = "Account", action = "Login" });` 因为我使用的是区域。但是,当我尝试访问该 URL 时,该操作无法找到正确的视图,并且不是在 /areas/account 中查找,而只是在 /account/ 中查找。我将此标记为正确答案,因为它回答了路由问题,但是如果您对在这种情况下找到正确视图的操作有任何建议,那就太好了 =)
  • 看看这个 SO 答案,它可能与您遇到的问题相同stackoverflow.com/a/6656959/1593273
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-19
  • 1970-01-01
  • 2013-04-07
  • 1970-01-01
  • 1970-01-01
  • 2014-06-12
  • 2015-11-12
相关资源
最近更新 更多