1

MVC3 アプリでは、次の URL からアクセスできるホーム コントローラーにビューがあります。

http://mysite.com/home/mycontent

ただし、ユーザーは次の方法でアクセスしたいと考えています。

http://mysite.com/mycontent (ホーム コントローラーへの特定の参照なし)

global.asax を次のように変更してみました。

    routes.MapRoute(
        "MyContent", // Route name
        "MyContent", // URL with parameters
        new { controller = "Home", action = "MyContent"} // Parameter defaults
    );

しかし、使用しようとすると404エラーが発生します。URL を特定のコントローラー/ビューのペアにリダイレクトするなど、ユーザーがやりたいことを達成する方法はありますか?

4

2 に答える 2

2

いくつかの「パラメーター」を保持する必要があると思います。

routes.MapRoute(
        "MyContent", // Route name
        "{action}/{id}", // URL with parameters
        new { controller = "Home", action = "MyContent", id = ""} // Parameter defaults
    );
于 2012-05-03T16:41:27.990 に答える
1

ルートはどのような順序で登録されていますか? そのルートは、デフォルト ルートの前に配置する必要があります。

例えば

routes.MapRoute(
    "MyContent", // Route name
    "MyContent", // URL with parameters
    new { controller = "Home", action = "MyContent"} // Parameter defaults
);

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Pages", action = "Index", id = UrlParameter.Optional }
);

それ以外の場合は、機能するはずです...それとまったく同じようにルートが定義されています。

于 2012-05-03T16:59:10.453 に答える