是否可以通过更改web.config文件来覆盖asp.net mvc应用程序的默认路由?
不修改routeconfig.cs文件
答案 0 :(得分:0)
我遇到了同样的问题,我通过以下方法解决了这个问题:
假设您在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 ...);
}
}