MVC删除获取或POST模糊方法签名

时间:2013-02-21 22:59:52

标签: asp.net-mvc software-design

我的控制器有一个Delete方法,实际上它有两个,GET和POST。

这两个只需要一个id工作,所以我最终得到一个模糊的方法,即

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

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

是否有最佳实践来处理此问题?

如果有任何疑问,[HttpGet]方法会返回要删除的对象,以便用户可以确认,[HttpPost]执行删除并重定向到Index操作。< / p>

1 个答案:

答案 0 :(得分:2)

您可以使用ActionName属性以不同于控制器方法名称的方式指定操作名称:

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

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