2012-07-13 64 views
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并将其传递给Details页面。既然他们都有相同的方法签名,MVC是正确的抱怨,但我想不出让他们与众不同的好方法。我如何区分这两种方法(一个获得一个职位,都有一个参数ID)?

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

回答

4

重命名后的方法来别的东西,并使用ActionName属性:

[HttpPost] 
    [ActionName("Products")] 
    public ActionResult Products_Post(int prodid) 
    { 
     return RedirectToAction("Details", prodid); 
    } 
+0

+1的长处,正是因为需要,尽管我WLD指出到OP,请说明为什么你有这样的(恕我直言)边缘其他支持开发者的情况。他们知道你住在哪里! :-) – 2012-07-13 20:54:35

相关问题