asp.net 防止按钮重复提交

1、将按钮属性设置如下:

<asp:Button ID="btConfirm" runat="server" Text="Confirm" Width="96px" UseSubmitBehavior="false" OnClientClick="confirmStockout(this)"/> 

这里需要将UseSubmitBehavior设置为false,

UseSubmitBehavior 属性规定按钮控件使用客户端浏览器内建的提交功能,还是使用 ASP.NET 的 postback 机制。

该属性被设置为 TRUE,如果控件使用浏览器的提交机制。否则为 FALSE。默认值是 TRUE。

当设置为 FALSE 时,ASP.NET 会添加一段客户端脚本来回传该表单。

当 UseSubmitBehavior 属性为 false 时,控件开发人员可以使用 GetPostBackEventReference 方法来返回 Button 的客户端回发事件。GetPostBackEventReference 方法返回的字符串包含客户端函数调用的文本,可以插入到客户端事件处理程序中。

2、编写JS函数来使按钮为不可用状态:

 function confirmStockout(button) {
            var btn = button;
            btn.disabled = true;
            return window.confirm("Are you sure to Stock out listed DNote(s)");
        }

3、当按钮提交过程中出差返回或按钮提交事件执行完成,使按钮为可用状态,但是后台直接通知前台是比较困难的事情,所以这里通过重定向到当前页来使按钮恢复可用状态

Response.Redirect("StockOut.aspx")

 

posted @ 2013-07-19 15:31  龍☆  阅读(279)  评论(0编辑  收藏  举报