ASP.NET解决重复提交的问题

向数据库提交表单数据,碰到网络堵塞时,用户多次点击提交按钮,使得数据库中保存多条重复记录。
 
解决方法一:
<asp:button id="btnSave" onclick="btnSubmit_Click" runat="server"  OnClientClick="javascript:if (Valid()){this.disabled=true;this.form.submit();}" UseSubmitBehavior="False" />

解决方法二:
btnSave.Attributes.Add("onclick", "javascript:if (Valid()){" + this.GetPostBackEventReference(this.btnSave) + ";this.disabled=true;} else {return false;}");

这两张方法都是通过禁用按钮的方式实现。可以在提交前进行客户端数据有效性检查,数据有效才提交,在客户端Valid方法中进行验证;
到服务器端也可以进行数据检查和按钮状态控制,如果数据无效,或者操作失败,需要重新启用按钮,使用以下代码实现:
btnSave.Attributes.Add("disabled", "");
posted @ 2011-10-18 16:08  lanmiao  阅读(531)  评论(0编辑  收藏  举报