[英]How to set Default Controller in asp.net MVC 4 & MVC 5
如何为我的ASP.NET MVC 4 项目设置默认控制器而不使其成为HomeController ?
应用程序启动时如何设置默认区域?
最好的办法是改变你的路线。 默认路由(在你的 App_Start 中定义)设置/Home/Index
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters*
new { controller = "Home", action = "Index",
id = UrlParameter.Optional }
);
作为默认登陆页面。 您可以将其更改为您希望的任何路线。
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters*
new { controller = "Sales", action = "ProjectionReport",
id = UrlParameter.Optional }
);
在App_Start文件夹中的RouteConfig.cs中设置以下代码
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional });
}
如果仍然无法正常工作,请执行以下步骤
第二种方式:您只需按照以下步骤操作,
1)右键单击您的项目
2) 选择属性
3) 选择 Web 选项,然后选择特定页面(控制器/视图),然后设置您的登录页面
这里,Account 是我的控制器,Login 是我的操作方法(保存在 Account Controller 中)
请看附件截屏。
我没有看到这个问题的回答:
应用程序启动时如何设置默认区域?
因此,您可以通过以下方式设置默认区域:
var route = routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
).DataTokens = new RouteValueDictionary(new { area = "MyArea" });
如果您只有一个控制器并且想要访问 root 上的每个操作,您可以像这样跳过控制器名称
routes.MapRoute(
"Default",
"{action}/{id}",
new { controller = "Home", action = "Index",
id = UrlParameter.Optional }
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.