1
    [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 理所当然地抱怨,但我想不出一种使它们不同的好方法。

还有其他人遇到这个“问题”吗?你是如何处理它/修复它的?

4

1 回答 1

4

将 post 方法重命名为其他名称并使用ActionName属性:

    [HttpPost]
    [ActionName("Products")]
    public ActionResult Products_Post(int prodid)
    {
        return RedirectToAction("Details", prodid);
    }
于 2012-07-13T20:21:43.237 回答