模棱两可的请求 mvc 3.
本文关键字:mvc 请求 模棱两可 | 更新日期: 2023-09-27 18:35:15
我想知道为什么 ASP.NET MVC 3 给我一个例外
控制器类型"EditController"上的当前操作"预览配置文件"请求在以下操作方法之间不明确:System.Web.Mvc.ActionResult PreviewProfile() 在类型 OSKus.Controllers.EditControllerSystem.Web.Mvc.ActionResult PreviewProfile(Int32) on type OSKus.Controllers.EditController
[HttpGet]
public ActionResult PreviewProfile()
{
return View("PreviewProfile", user.GetPerson(User.Identity.Name));
}
[HttpGet]
public ActionResult PreviewProfile(int personId)
{
if (personId == -1)
return View("PreviewProfile", user.GetPerson(User.Identity.Name));
return View("PreviewProfile", user.GetPerson(personId));
}
即使
使用不同的签名,也不能有两个具有相同名称的 [HttpGet] 操作。
[HttpGet]
public ActionResult PreviewProfile(int? personId)
{
if (personId.HasValue)
return View("PreviewProfile", user.GetPerson(personId));
return View("PreviewProfile", user.GetPerson(User.Identity.Name));
}
因为它无法在定义的路由中区分它们。
但是,为什么不将签名更改为:
public ActionResult PreviewProfile(int? personId)
{
ìf(personId.HasValue)
{
// id supplied, do stuff and return view
}
// No id supplied
// return default view
}