2013-01-05 16 views
5

Jak ustawić trasę, aby widok był stroną główną domeny w aplikacji ASP.NET MVC, która zawiera obszary. Potrzebuję widoku określonego obszaru jako strony głównej. Jak można to zrobić?Jak ustawić widok obszaru jako stronę startową w ASP.NET MVC?

Próbowałem użyć następującego kodu bez powodzenia.

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

możliwe duplikat [Jak ustawić domyślną trasę (do obszaru) w MVC] (http://stackoverflow.com/questions/2140208/how-to-set-a-default-route-to -an-area-in-mvc) –

+0

To jest duplikat, a jedyna odpowiedź jest niepoprawna; drugie pytanie zawiera notatkę, że poniższa odpowiedź w rzeczywistości nie spełni tego, o co pyta się pytający, używając obszaru do wyświetlenia strony głównej ("/"). Musi zostać przekierowany z głównej kolekcji RouteCollection i nie może być wykonany z obszaru, co sugeruje poniższa odpowiedź. –

Odpowiedz

3

W folderze obszarze znajduje się plik o nazwie AreaName AreaRegistration wynikające z AreaRegistration, ma RegisterArea funkcja, która ustawia trasę.

Domyślna trasa w obszarze to Nazwa obszaru/{controller}/{action}/{id}. Modyfikowanie tego może ustawić obszar jako domyślny obszar. Na przykład ustawiam domyślną trasę jako {kontroler}/{czynność} dla mojego wymagania.

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} 
      ); 
     } 
    } 
Powiązane problemy