如何在不设置HomeController的情况下为我的ASP.NET MVC 4 项目设置默认控制器?
应用程序启动时如何设置默认区域?
如何在不设置HomeController的情况下为我的ASP.NET MVC 4 项目设置默认控制器?
应用程序启动时如何设置默认区域?
最好的方法是改变你的路线。默认路由(在您的 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 }
);