私はかなり基本的な ASP.NET MVC (1) ルーティング クエリを取得しましたが、今では答えを見つけることができませんでした。
3 つのパラメーターを持つアクション メソッドを呼び出したいのですが、複数のパラメーターを指定して呼び出すと 404 が発生します。
ルートは次のようになります (デフォルトのルート以外はすべて削除しました):
routes.MapRoute(
"Test",
"{id}/{page}/{lineend}",
new { controller = "Basic", action = "Test" },
new { id = @"\d+", page = @"\d+" }
);
メソッドは次のようになります。
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Test(int? id, int? page, string lineend)
{
// some code here
return new ViewResult();
}
これが起こることです:
http://localhost:55462/Basic/Test/
作品
http://localhost:55462/Basic/Test/1
作品
http://localhost:55462/Basic/Test/1/2
404を与える
http://localhost:55462/Basic/Test/1/2/3
404を与える
制約を削除するか、メソッド シグネチャを (int, int, string) に変更しても、同じ効果があります。1 番目と 2 番目のケースでは、アプリケーションは null パラメータについて不平を言い、他のケースでは 404 が発生します。
この問題はかなり基本的なものでなければならないことはわかっていますが、わかりません。
ご協力いただきありがとうございます!