2013-02-21 30 views
3

我的控制器有一個Delete方法,實際上它有兩個GET和POST。MVC刪除Get v POST模糊方法簽名

這兩個只需要一個id工作,所以我結束了一個模棱兩可的方法,即

[HttpGet] 
public ActionResult Delete(string id) { ... } 

[HttpPost] 
public ActionResult Delete(string id) { ... } 

是否有處理這個最佳實踐

如果有任何疑問,[HttpGet]方法返回要刪除的對象,以便用戶可以確認,[HttpPost]執行刪除並重定向到Index操作。

回答

2

可以使用ActionName屬性來指定你的動作名稱不同於控制器方法名稱:

[HttpGet] 
public ActionResult Delete(string id) { ... } 

[HttpPost, ActionName("Delete")] 
public ActionResult DeleteConfirmed(string id) { ... }