2013-01-20 190 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 } 
); 
相關問題