0

MVC 5にはいくつかの領域があり、各領域には独自のHomeControllerがあります。 ので、URLは次のようになります。MVC 5エリアURLのホームコントローラを非表示にする

/domain/{area}/{controller}/{action}/{id} 
/domain/myarea/home/myaction 

は、エリアごとにホームコントローラ名を非表示にするルートを設定することが可能ですか?したがって、URLは次のようになります: /domain/myarea/myaction - もちろん、エリア内のホームコントローラを指しています。

ありがとう、 アレックス。

+0

routeconfig.csファイルで新しいルートをマップできます。新しいルートには、アクションパラメータが含まれているだけです。さらに特定のルートがrouteconfig.csの最優先に配置されていることを確認してください –

答えて

0

コントローラ名を削除するには、エリア登録のルートパターンを更新できる必要があります。例えば

public class EventsAreaRegistration : AreaRegistration 
{ 
    public override string AreaName 
    { 
     get 
     { 
      return "Events"; 
     } 
    } 

    public override void RegisterArea(AreaRegistrationContext context) 
    { 
     context.MapRoute(
      "Events_default", 
      "Events/{action}/{id}", 
      new { action = "Index", controller = "Home", id = UrlParameter.Optional }, 
      new string[] { "MyProject.Areas.Events.Controllers" } 
     ); 
    } 
} 

今要求yourSite/Events/Details/23があなたのイベントエリア内にHomeControllerの詳細アクションメソッドを返します。

関連する問題