[HttpGet]
public ActionResult Products(int catid)
{
ProductNumbersFiltering pnf = new ProductNumbersFiltering();
var prodnumbers = pnf.getProductNumberFromID(catid);
return View(prodnumbers);
}
[HttpPost]
public ActionResult Products(int prodid)
{
return RedirectToAction("Details", prodid);
}
因此,GET 方法接收目录 ID 并返回与该目录关联的所有产品。POST 方法接收产品 ID 并将其传递到"详细信息"页。由于它们都具有相同的方法签名,MVC 理所当然地抱怨,但我想不出使它们与众不同的好方法。
还有其他人遇到这个"问题"吗?您是如何处理/修复它的?
将
post 方法重命名为其他名称并使用 ActionName
属性:
[HttpPost]
[ActionName("Products")]
public ActionResult Products_Post(int prodid)
{
return RedirectToAction("Details", prodid);
}