【问题标题】:Normal routes stop working after adding MapMvcAttributeRoutes添加 MapMvcAttributeRoutes 后正常路由停止工作
【发布时间】:2017-11-25 09:31:38
【问题描述】:

我的RouteConfig 中有以下代码:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        //routes.MapMvcAttributeRoutes();

        routes.MapRoute(
            name: "Transfer",
            url: "Transfer/{controller}/{action}/{id}",
            defaults: new { id = UrlParameter.Optional });

        routes.MapRoute(
            "Director",
            "{*parameters}",
            new { controller = "Home", action = "Index"}
        );
    }

一切正常,但每当我取消注释 routes.MapMvcAttributeRoutes(); 行时,只有属性路由有效,另一个不能。这是我的控制器:

public class HomeController : Controller
{

    [Route(""), Route("Home")]
    public ActionResult Index()
    {
        return this.View();
    }

    [Route("ContactUs")]
    public ActionResult ContactUs()
    {
        return this.View();
    }

    [Route("PrivacyPolicy")]
    public ActionResult PrivacyPolicy()
    {
        return this.View();
    }

    [Route("TermsOfUse")]
    public ActionResult TermsOfUse()
    {
        return this.View();
    }

}

这是什么原因?它似乎首先发生在我身上。我以前做过很多次,但这个问题从未发生过。

【问题讨论】:

  • 似乎连我都无法重现所描述的行为...尝试使用 Phil 的 RouteDebugger 找出答案,并使用基于约定的路线的结果编辑您的问题。

标签: c# asp.net-mvc routes custom-attributes


【解决方案1】:

你在这里做错了:

试试这个方法:

[Route("Home")]
public ActionResult Index()
{
    return this.View();
}

【讨论】:

    猜你喜欢
    • 2020-12-11
    • 2018-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多