2013-01-05 80 views
5

如何將視圖設置爲ASP.NET MVC應用程序中包含區域的域的主頁。我需要將特定區域視爲主頁。這怎麼能做到?如何在ASP.NET MVC中將區域視圖設置爲主頁?

我試着用下面的代碼沒有任何成功。

public static void RegisterRoutes(RouteCollection routes) { 
      routes.MapRoute(
       name: "Home", 
       url: "", 
       defaults: new { controller = "Home", action = "Index" }, 
       namespaces: new string[] { "WebApp.Areas.UI.Controllers" } 
       ); 
} 
+0

可能重複[如何在MVC中設置默認路由(到區域)](http://stackoverflow.com/questions/2140208/how-to-set-a-default-route-to -an-area-in-mvc) –

+0

這是一個騙局,唯一的答案是不正確的;另一個問題包括注意下面的答案實際上不會實現這個提問者要求做的事情,使用Area來爲根頁面(「/」)提供服務。它必須從主RouteCollection路由,並且不能從Area執行,如下面的答案所暗示的。 –

回答

3

在該地區的文件夾中有是名文件AREANAME AreaRegistration從AreaRegistration派生,它有一個功能RegisterArea其中規定了路線。

區域中的默認路由是AreaName/{controller}/{action}/{id}。修改它可以將區域設置爲默認區域。例如,我將默認路由設置爲{controller}/{action}以滿足我的要求。

public class UIAreaRegistration : AreaRegistration 
{ 
     public override string AreaName 
     { 
      get 
      { 
       return "UI"; 
      } 
     } 

     public override void RegisterArea(AreaRegistrationContext context) 
     { 
      context.MapRoute(
       "UI_default", 
       "{controller}/{action}/{id}", //****** 
       new {controller = "Home", action = "Index", id = UrlParameter.Optional} 
      ); 
     } 
    } 
相關問題