2

次のルートがあります。単純化できると思いますが、どうすればいいのかわかりません。誰かが私にこれについていくつかのアドバイスを与えることができますか?これらのルートでid=...の理由は何ですか。メソッドにidパラメーターがない場合、これは何かを行っていますか?

context.MapRoute(
    "Admin_test",
    "Admin/Tests",
    new { controller = "Contents", action = "Tests", id = UrlParameter.Optional }
);
context.MapRoute(
    "Admin_menus",
    "Admin/Menus",
    new { controller = "Contents", action = "Menus", id = UrlParameter.Optional }
);
context.MapRoute(
    "Admin_notes",
    "Admin/Pages",
    new { controller = "Contents", action = "Pages", id = UrlParameter.Optional }
);
context.MapRoute(
    "Admin_cores",
    "Admin/Cores",
    new { controller = "Cores", action = "Cores", id = UrlParameter.Optional }
);
context.MapRoute(
    "Admin_default3",
    "Admin/References",
    new { controller = "References", action = "References", id =     UrlParameter.Optional }
);
4

1 に答える 1

4
context.MapRoute(
    "Admin_Contents",
    "Admin/{action}",
    new { controller = "Contents" },
    new { action = "^tests|menus|pages$" }
);

context.MapRoute(
    "Admin_Default",
    "Admin/{controller}",
    new { action = "Index" }
);

Cores次に、とReferencesコントローラーでもう少しRESTfulなアクションの命名規則を使用し、 andIndexの代わりにデフォルトのアクションとして使用します。CoresReferences

ただし、2番目のルート定義では、ユーザーがURLで別のアクションを指定できるようにする必要もあります。

context.MapRoute(
    "Admin_Default",
    "Admin/{controller}/{action}",
    new { action = "Index" }
);
于 2012-07-04T13:11:52.003 に答える