【问题标题】:Why does an ASP.NET MVC route have a name?为什么 ASP.NET MVC 路由有名称?
【发布时间】:2020-10-23 03:08:16
【问题描述】:

在 ASP.NET MVC 5 Web 应用程序中,有一个注册许多路由的 RouteConfig 类。到目前为止,在我看到的所有示例中,只有“默认”路由具有非空名称。 URL 模式和默认路由值似乎足以将任何 URL 正确关联到控制器和要执行的操作。那么,命名路线有什么好处吗?用于调试或记录?只是为了自我记录代码?

例如:

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

    // Most pages.
    routes.MapRoute( name: "Default",
      url: "{controller}/{action}/{id}",
      defaults: new { controller = "home", action = "index", id = UrlParameter.Optional }

    // A special page.
    // Should the route have a name?
    routes.MapRoute( name: "",
      url: "special",
      defaults: new { controller = "special", action = "index", HttpVerbs = HttpVerbs.Get } );
  }
}

【问题讨论】:

    标签: c# asp.net-mvc-5


    【解决方案1】:

    命名路线的主要原因是,如果您需要从应用程序的某处指向路线的链接,您可以引用该名称。这样,如果实际 URL/路径发生更改,您就不会在引用该路由的代码中到处中断。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-11
      • 2011-12-17
      • 2016-02-10
      • 1970-01-01
      • 1970-01-01
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多