2

次の 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 を形成する必要があることを伝えるにはどうすればよいですか?

4

1 に答える 1

1

シミュレートする代わりに、実際の MVC 領域を使用できます。チェックアウトできるビデオもあります。デフォルトのルート定義を Global.asax に残してから、別のルート構成を持つメンバー エリアをサイトに追加するという考え方です。

于 2012-04-04T17:38:42.457 に答える