我有家庭控制器。我的家庭控制器有两种索引方法,一种无参数,一种有参数。它像是
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 中只定义了两个路由条目,例如
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) 方法。但我收到错误,为什么我输入了我指定的两种 url。错误消息是控制器类型“HomeController”上的操作“索引”的当前请求在以下操作方法之间不明确: System.Web.Mvc.ActionResult Index() on type BeginnerMVC.Controllers.HomeController System.Web.Mvc.ActionResult BeginnerMVC.Controllers.HomeController 类型上的索引(Int32)
我无法捕捉到错误。我的路由代码有什么问题。请帮忙。谢谢