Asp.net mvc 如何覆盖asp.net mvc应用程序的web.config中的默认路由路径

Asp.net mvc 如何覆盖asp.net mvc应用程序的web.config中的默认路由路径,asp.net-mvc,asp.net-mvc-routing,Asp.net Mvc,Asp.net Mvc Routing,是否可以通过更改web.config文件来覆盖asp.net mvc应用程序的默认路由 在未修改routeconfig.cs文件的情况下,我遇到了相同的问题,并通过以下解决方法解决了该问题: 假设您的web.config中有一个格式为“controller/action”的路由元素。 在我的RouteConfig.cs中,我添加了以下代码: public static void RegisterRoutes(RouteCollection routes) { var mySection =

是否可以通过更改web.config文件来覆盖asp.net mvc应用程序的默认路由


在未修改routeconfig.cs文件的情况下,我遇到了相同的问题,并通过以下解决方法解决了该问题:

假设您的web.config中有一个格式为“controller/action”的路由元素。 在我的RouteConfig.cs中,我添加了以下代码:

public static void RegisterRoutes(RouteCollection routes)
{
  var mySection = 
    WebConfigurationManager.OpenWebConfiguration("~").GetSection("WHATEVER_YOU_NEED");
  if (mySection != null)
  {
    // OVERRIDE WITH WEB.CONFIG
    string[] parts = mySection["YOUR_GROUP"].Split('/');
    routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new 
                { 
                   controller = parts[0], 
                   action = parts[1], 
                   id = UrlParameter.Optional 
                });
  }
  else
  {
    routes.MapRoute( ... YOUR DEFAULT ROUTE ...);         
  }
}