2013-01-05 9 views
5

エリアを含むASP.NET MVCアプリケーションで、ビューがドメインのホームページになるようにルートを設定する方法。私はホームページになるために特定のエリアの景色が必要です。これはどうすればできますか?エリアビューをASP.NET MVCのホームページとして設定するにはどうすればいいですか?

次のコードを使用してみましたが、成功しませんでした。 AreaRegistrationから派生名AREANAME AreaRegistrationによってファイルがあるエリアのフォルダで

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

これは欺瞞です。唯一の答えは間違っています。もう1つの質問には、ルートページ( "/")を提供するエリアを使用して、以下の回答が実際にここで質問していることを達成しないという注意が含まれています。メインRouteCollectionからルーティングする必要があり、以下の答えが示すようにAreaから行うことはできません。 –

答えて

3

、それがルートを設定し、機能RegisterAreaを持っています。

エリアのデフォルトルートは、エリア名/{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} 
      ); 
     } 
    } 
関連する問題