C# 在MVC4中设置默认控制器
如何在MVC4中设置默认控制器 我曾尝试将下面的代码添加到Global.ascx中,但它说“只能将赋值、调用、递增、递减和新对象表达式用作语句”,似乎找不到“路由”,我是否将其放在了错误的位置C# 在MVC4中设置默认控制器,c#,asp.net-mvc,asp.net-mvc-4,asp.net-mvc-routing,C#,Asp.net Mvc,Asp.net Mvc 4,Asp.net Mvc Routing,如何在MVC4中设置默认控制器 我曾尝试将下面的代码添加到Global.ascx中,但它说“只能将赋值、调用、递增、递减和新对象表达式用作语句”,似乎找不到“路由”,我是否将其放在了错误的位置 routes.MapRoute( "Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParamet
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index",
id = UrlParameter.Optional }
);
以下是截图:
查看App\u Start/RouteConfig.cs文件。在这里,您可以按照自己的方式配置路由 在那里,您会发现类似以下代码:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
您需要将此代码放入
RouteConfig.cs
下的App\u Start
中
检查请在您的RouteConfig.cs文件中更改它建议使用
RouteConfig
的答案是正确的,但有点误导。RouteConfig
没有什么神奇之处;它只是一个根据约定创建、命名和定位的类
重要的部分是您通常传递给RouteConfig
:RouteTable.Routes
路由表可从ASP.Net应用程序中的任何位置获得。例如,你可以说:
protected void Application_Start()
{
RouteTable.Routes.MapRoute( "myroute", "apples", new { controller = "Foo", action = "Bar" } );
}
它会很好的工作。当然,您应该只在启动时初始化路由,并遵循RouteConfig
的约定以保持一致性
但值得知道的是它为什么会起作用