繁体   English   中英

如何在 asp.net MVC 4 & MVC 5 中设置默认控制器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM