2012-07-13 47 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

相關問題