3

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

这两个都只需要一个 id 就可以工作,所以我最终得到了一个模棱两可的方法,即

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

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

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

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

4

1 回答 1

2

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

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

[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(string id) { ... }
于 2013-02-21T23:18:45.573 回答