次の URL パターンを使用して、自分のサイトにメンバー エリアを作成したいと考えています。
ログアウトしたユーザーのパターン:
domain.com
domain.com/About
domain.com/Blog
domain.com/Blog/1 (where 1 is the post ID)
しかし、次のように Url の前に Member を付けるメンバー エリアもあります。
domain.com/Member/MyProfile
domain.com/Member/MySettings
これは単純に思えますが、ルーティング ルールを作成する明確な方法がわかりません。私は持っている:
routes.MapRoute(
"Member", // Route name
"Member/{controller}/{action}/{id}", // URL with parameters
new { controller = "Task", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
これは、ログインしているメンバーには最適ですが、残念ながら、最初のルールはログアウトしたビューにも一致し、Url.Action("Blog", "Home") は次のような URL を生成します。
domain.com/Member/Home/Blog
Url.Action に、メンバー領域外のデフォルト ルールで Url を形成する必要があることを伝えるにはどうすればよいですか?