ASP.NETMVCルーティングに関する質問があります。まず、私のエリアの設定について説明します。とても簡単です。
Areas
|
+--Foo
|
+--Controllers
|
+--BarController.cs
私のエリアには「Foo」というフォルダと「BarController.cs」というコントローラがあります。Barコントローラには「DoStuff1()」、「DoStuff2()」などの名前のメソッドがいくつかあります。
私のウェブサイトは次のURLを使用しています。
/foo/bar/15
/foo/bar/dostuff1
/foo/bar/dostuff2
最初のURLにはIDが必要であり、BarコントローラーのデフォルトのIndex()メソッドを使用して、Webページにビューとモデルを入力します。
2番目と3番目のURLでは、jQueryajax呼び出しにそれらを使用しています。
これが私の地域登録からのコードです
context.MapRoute(null, "Foo/Bar/DoStuff1", new
{
action = "DoStuff1",
controller = "Bar"
});
context.MapRoute(null, "Foo/Bar/DoStuff2", new
{
action = "DoStuff2",
controller = "Bar"
});
context.MapRoute(null, "Foo/Bar/{id}", new
{
action = "Index",
controller = "Bar"
});
私の問題は、作成する新しいコントローラーメソッドごとに、エリア登録ファイルに別のルートマッピングを追加する必要があることです。たとえば、メソッドDoStuff3()を追加する場合、これをエリア登録に追加する必要があります。
context.MapRoute(null, "Foo/Bar/DoStuff3", new
{
action = "DoStuff3",
controller = "Bar"
});
新しいコントローラメソッドのエリア登録ファイルに新たに追加する必要のない、上記のURLを処理するための汎用ルートマッピングを作成するにはどうすればよいですか?