2013-01-20 144 views
89

如何设置默认控制器为我的ASP.NET MVC 4项目没有使它HomeController如何设置默认控制器在asp.net MVC 4和MVC 5

应用程序启动时应如何设置默认区域

+0

正如从“/”到“/家被改变,因为根页面的每一个动作呢?这“/ home”必须在客户的浏览器上可见 –

回答

149

最好的办法就是改变你的路线。缺省路由(在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 } 
); 
+0

感谢它也适用于区域 –

+12

在MVC 4默认路由设置在App_Start/RouteConfig.cs –

+0

非常真实。并且忽略这些东西;) –

23

我没有看到这个问题的回答:

我应该如何设置一个默认应用程序启动时?

所以,这里是你如何设置一个默认的区域:

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" }); 
+1

很好的问题,你为什么不创建它作为一个? – stuartdotnet

+0

什么是'区域'?如果我定义了一个视图,是否加载了引用的布局,然后使用我的视图数据创建一个单独的HTTP请求? (即独立的Ajax操作),还是渲染并缠绕在我的视图周围的布局? –

+2

@GusCrawford 什么是“区域”? 来自http://msdn.microsoft.com/en-us/library/ee671793(VS.100).aspx: 为了适应大型项目,ASP.NET MVC允许您将Web应用程序划分为更小的单元,这些单元被称为区域。区域提供了一种将大型MVC Web应用程序分成更小的功能组的方法。一个区域实际上是一个应用程序内部的MVC结构。应用程序可以包含多个MVC结构(区域)。 –

23

设置下面的代码在RouteConfig.csApp_Start文件夹

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选项,然后选择特定页(控制器/查看右键点击),然后设置你的登录页面

这里,客户是我的控制器和登录名是我的操作方法(保存在账户控制器)

请德e一看附件enter image description here截图。

+13

你的“第二种方式”是关于当你调试你的web项目时会发生什么。它与“默认控制器”无关,即当您导航到您网站的登录页面时显示的页面。 –

0

如果你只有一个控制器和您要访问的根,你可以跳过控制器名称这样

routes.MapRoute(
     "Default", 
     "{action}/{id}", 
     new { controller = "Home", action = "Index", 
     id = UrlParameter.Optional } 
); 
相关问题