私はホームコントローラーを持っています。私のホームコントローラーには、パラメーターなしとパラメーター付きの2つのインデックスメソッドがあります。のようなものです
public ActionResult Index()
{
ViewData["Message"] = "Welcome to ASP.NET MVC!";
return View("index");
}
public ActionResult Index(int a)
{
ViewData["Message"] = "Welcome to ASP.NET MVC! and Your Age is " + a;
return View();
}
global.asaxに2つのルートエントリのみを定義しました。
routes.MapRoute(
"Default1", // Route name
"{Home}/{ID}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
"Default", // Route name
"{controller}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
http:// localhost:7221やhttp:// localhost:7221 / homeのようなurlと入力すると、ホームコントローラーのパラメーターがないindex()メソッドが起動します。
http:// localhost:7221 / home / 77と入力すると、ホームコントローラーのパラメーターを指定したindex(int a)メソッドが起動します。しかし、指定した2種類のURLを入力するとエラーが発生します。エラーメッセージは次のとおりです。コントローラータイプ「HomeController」のアクション「Index」の現在の要求は、次のアクションメソッド間であいまいです。タイプBeginnerMVC.Controllers.HomeControllerSystem.Web.Mvc.ActionResultのSystem.Web.Mvc.ActionResultIndex()タイプBeginnerMVC.Controllers.HomeControllerのIndex(Int32)
エラーをキャッチできません。ルーティングコードの何が問題になっていますか。助けてください。ありがとう