今天在MVC中发现提示以下错误:
对控制器类型“ManageController”的操作“CatalogEdit”的当前请求在下列操作方法之间不明确: 类型 MvcWebPhoto.Controllers.ManageController 的 System.Web.Mvc.ActionResult CatalogEdit()
类型 MvcWebPhoto.Controllers.ManageController 的 System.Web.Mvc.ActionResult CatalogEdit(Int32)
经仔细检查后发现是因为我在Controller中的action中为CatalogEdit设置了两个action方法。我的原意是想一个方法处理无参数的get请求,另一个方法处理有参数的get请求,结果发现这样并不行。
总结后得出:
1,如果要在action中处理get请求中参数,可以参考以本站以下的方法:
在MVC中如何获取Request.QueryString中的参数值的方法2,如果同一个页面中要把get处理方法与post处理方法区别开来,请分别在方法头部加上[HttpGet]或者[HttpPost]标识,示例如下:
只处理get方式的请求:
[HttpGet]
public ActionResult CatalogEdit()
{
return View();
}
只处理post方式的请求:
[HttpPost]
public ActionResult CatalogEdit(Catalog model)
{
return View();
}