在ASP.NET MVC页面上阻止双重提交

问题描述 投票:0回答:2

我有一个ASP.NET MVC 4视图。在视图中,我有

<form action="/myAction" method="post">
  ...
  <input type="submit" value=" Save&nbsp;" onclick="this.disabled = true; this.value = ' Please wait... '; return true;" />
</form>

通过禁用该按钮,表单永远不会被提交。但是,我想在用户点击它后禁用该按钮。我想禁用它的原因是为了防止用户多次单击“提交”按钮。我究竟做错了什么?我想如果我回复了,表格仍会提交。

c# asp.net-mvc-4
2个回答
4
投票

禁用表单提交的事件中的按钮,而不是按钮的单击事件。这是因为click事件在提交表单之前触发 - 虽然你要返回true,所以这不应该导致提交失败,我不这么认为。


0
投票

使用ActionFilters。 This blog post有一个课程,你可以放入你的项目,装饰你的行动,你就完成了。

© www.soinside.com 2019 - 2024. All rights reserved.