1

サイトには次のような通常のページがあります。

foo.com/about
foo.com/contact

これらには単一のコントローラーを使用します。

管理者用のページもあります。別のコントローラーがあります: foo.com/admin/createsomething

これは私のルーティング構成であり、HomeController アクションを選択していません。

    routes.MapRoute(
        name: "Default",
        url: "{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );

    routes.MapRoute(
        name: "Admin",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );

どうすれば修正できますか?

4

1 に答える 1

0

デフォルトの規則に違反するURLのルートが必要です。

routes.MapRoute(
    name: "About",
    url: "about",
    defaults: new { controller = "Home", action = "About" }
);

routes.MapRoute(
    name: "Contact",
    url: "contact",
    defaults: new { controller = "Home", action = "Contact" }
);

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

次に、管理URLはAdminControllerCreateSomethingアクションメソッドがあるデフォルトルートで解決する必要があります

于 2012-12-07T16:58:07.413 に答える