【发布时间】:2011-10-04 13:36:52
【问题描述】:
当前对控制器类型“UsersController”的操作“Index”的请求在以下操作方法之间不明确: System.Web.Mvc.ActionResult PostUser(Models.SimpleUser) 类型为 Controllers.UsersController System.Web.Mvc.ActionResult PostUser(Int32, Models.SimpleUser) on type 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" }
);
【问题讨论】:
标签: asp.net-mvc action asp.net-mvc-routing