行動上控制器類型「索引」的當前請求「UsersController」是以下動作的方法之間曖昧: System.Web.Mvc.ActionResult PostUser(Models.SimpleUser)上型Controllers.UsersController 的System.Web。 Mvc.ActionResult PostUser(的Int32,Models.SimpleUser)的類型Controllers.UsersController當我嘗試後website.com/users/與表單值儘管參數不同,爲什麼這兩個操作被認爲是不明確的?
正在發生的事情。
當沒有ID(website.com/users/)時,我希望它創建一個新用戶,當有一個ID(例如/ users/51)時,我希望它更新該用戶,那麼如何才能我讓它告訴這兩個行動之間的區別?
這裏有兩個動作:
[HttpPost]
[ActionName("Index")]
public ActionResult PostUser(SimpleUser u)
{
return Content("User to be created...");
}
[HttpPost]
[ActionName("Index")]
public ActionResult PostUser(int id, SimpleUser u)
{
return Content("User to be updated...");
}
這裏是圖路線:
routes.MapRoute(
"Users",
"users/{id}",
new { controller = "Users", action = "Index" }
);
我在http:// stackoverflow上提出了同樣的問題。com/questions/6479631/why-cant-asp-net-mvc-differences-between-two-actions-when-they-have-different-pa – KallDrexx