0

次のルートを設定しています。

    context.MapRoute(
        "MyAccount_default",
        "MyAccount/{controller}/{action}/{id}",
        new { action = "Index", id = UrlParameter.Optional }
    );

および次のリンク:

/MyAccount/Access/Login
/MyAccount/Access/Logout
/MyAccount/Access/Register

次のように入力するようにルートマップを作成する方法はありますか?

/Login
/Logout
/Register 

リクエストをMyAccountエリア、Accessコントローラー、およびログイン/ログアウトまたは登録メソッドに送信しますか?ルートマップがある場合、それはMyAccountエリアのルートマップ内に属することができますか、それともその外にある必要がありますか?

4

1 に答える 1

1

あなたは本当にあなたのルートを具体的にする必要があります。標準ルート以外のものが必要な場合は、それらをルートテーブルに追加します。


context.MapRoute(
        "Login",
        "/Login",
        new { controller="Access", action = "Login"}
    );

デフォルトルートの前にそれを追加します。もう1つのオプションは、デフォルトルートを使用することですが、さらにhttps://github.com/mccalltd/AttributeRoutingのAttributeRoutingプロジェクトのようなものを使用 して、各コントローラーのアクションメソッドに追加のルートを指定します。

Loginアクションメソッドに次のようにコーディングできることに注意してください。


[GET("Login")]
public ActionResult Login()
{
}

したがって、デフォルトルートが使用され、さらにこの拡張ルートが使用されます。私はそれがとにかくうまくいくはずだと信じています:)

于 2012-10-06T05:23:26.980 に答える