【问题标题】:Special area route (ASP.NET MVC)特区路由(ASP.NET MVC)
【发布时间】:2012-01-08 02:48:03
【问题描述】:

我在使用 ASP.NET MVC3 路由时遇到了一个不寻常的问题。我创建了一个名为“Account”的区域,并在其中创建了一个带有“Login”操作的控制器“Main”。现在我想创建一个路由,看起来像这样:“/Login”(这意味着没有“/Account/Main/Login”),但我一直没有这样做(我使用AccountAreaRegistration 注册路由,但@Html.ActionLink 总是跳过它们并选择默认区域路由("/Account/{controller}/{action}",因此 URL 与我想要的不同)。我该如何继续并解决这个问题?

【问题讨论】:

  • 你能展示你的设置路线的代码吗?路由以“从上到下”的顺序进行解析,即按照与您在代码中编写它们的顺序相同的顺序,所以如果您有默认路由 above 特殊路由,您的特殊路由路线永远不会匹配。
  • 另外,Phil Haack's routing debugger 可能会有所帮助。不过它已经相当老了,所以我不确定他是否更新了它以支持区域......

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


【解决方案1】:

我已经解决了我的问题,这实际上很愚蠢。路线的顺序没问题,但问题是由于我在 MapRoute 的默认值列表中使用 area = "Account" 默认值引起的。删除后,一切都像魅力一样。

【讨论】:

    猜你喜欢
    • 2010-12-09
    • 2018-05-31
    • 1970-01-01
    • 2021-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    相关资源
    最近更新 更多