在我们做程序开发的时候经常会遇到用户点了提交以后,由于各种原因用户会在去点提交或是按浏览器的刷新按扭,从而导致数据重复提交。经研究和到网上查找资料后处理方案有以下几种:
- 第一种方法:
不要用WEB控件中的BUTTON用HTML中的BUTTON可以解决这个问题:
具体如下:
在:HTML中,定义这样一个BUTTON
-------------------------
<input type="button" value="mybutton" οnclick="this.disabled=true;" runat="server" id="mybutton" name="mybutton">
--------------------------------
然后在CODEBEHIND中,使用ServerClick事件。就可以避免重复提交的问题。 - 第二种方法:
在按钮中写
void Button1_Click(object sender, System.EventArgs e)
{
// ....
Response.Write("<script language='JavaScript'>alert('提交成功!');window.location='WebForm1.aspx';</script>");
} - 第三种方法:
在提交以后用页面跳转的方法来重新处理打开当前页,如:Response.Redirect("本页")。也可以达到我们要的目的。
还有另外的方法:
http://www.microsoft.com/china/msdn/library/webservices/asp.net/BedrockAspNet.mspx?mfr=true
http://cncxz.cnblogs.com/archive/2005/12/25/304141.html