2017-07-18 18 views
0

こんにちは私は自分のプロジェクトに管理領域を持っています。 AreaRegistrationはデフォルトASP.NET MVC Url.Actionはコントローラ名と匿名名を削除します

public class AdminAreaRegistration : AreaRegistration 
{ 
    public override string AreaName => "Admin"; 

    public override void RegisterArea(AreaRegistrationContext context) 
    { 
     context.MapRoute(
      "Admin_default", 
      "admin/{controller}/{action}/{id}", 
      new { action = "Index", controller = "Dashboard", id = UrlParameter.Optional } 
     ); 
    } 
} 

私はUrl.Action("Index", "Dashboard")を使用する場合、それは/adminを返しますが、私はそれが/admin/dashboardでなければなりませんadmin/{controller}のようなパスを取得したいです。しかし、ユーザーが/adminに移動するとき、それはので、私は

1)Url.Action("Index", "Dashboard")/admin/dashboard

2を返すことを必要/admin/dashboard

にリダイレクトする必要があります)/adminに、ユーザーナビゲーションは/admin/dashboard

に彼をリダイレクトしますされていますmvcのルーティングでこれを行う方法はありますか?

+0

を使用している

自分自身を発見しましたそれぞれについて。 –

答えて

0

は、いつものようにSO溶液中で掲示した後にのみ、その領域におけるいくつかのコントローラを持っている場合は、デフォルトの1を削除して、特定のエントリを追加するソリューションはUrl.RouteUrl("Admin_Dashboard")とルート

context.MapRoute(
      "Admin_Dashboard", 
      "admin/dashboard", 
      new { action = "Index", controller = "Dashboard", id = UrlParameter.Optional } 
     ); 
関連する問題