我如何区分这两种方法(一种获取和一种发布,两者都有一个参数 ID)


    [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);
    }

相关内容

  • 没有找到相关文章

最新更新