[英]Set default controller in MVC4
如何在MVC4中设置默认控制器?
我已经尝试将以下代码添加到Global.ascx但它说“只有赋值,调用,递增,递减和新对象表达式可以用作语句”,似乎找不到“路由”,我把它放在错误的地方?
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index",
id = UrlParameter.Optional }
);
以下是截图:
看一下App_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_Start
。
建议使用RouteConfig
的答案是正确的,但有点误导。 RouteConfig
没有什么神奇之处; 它只是一个按照惯例创建,命名和定位的类。
重要的部分是您通常传递给RouteConfig
: RouteTable.Routes
路径表可从ASP.Net应用程序中的任何位置获得。 例如,您可以说:
protected void Application_Start()
{
RouteTable.Routes.MapRoute( "myroute", "apples", new { controller = "Foo", action = "Bar" } );
}
它会工作得很好。 当然,您应该只在启动时初始化路由并遵循RouteConfig
的约定以保持一致性。
但值得知道它为什么会起作用。
请在RouteConfig.cs文件中更改它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.