防止刷新重复刷新提交解决方法
方法一:检测数据表,看是否有相同的数据。这种方法对插入数据可能意义更大些,不过如何定义是相同的数据,是个麻烦的事。同时,如果不是插入数据,是删除呢,就不适用了。
方法二:提交后,转向一个过渡页面,然后再从过渡页面返回到当前的页面。这就要求在提交后,要把当前页面的url地址作为参数传过去,同时不能保存缓存,否则“后退”带来不良后果。不过,如果是简单的删除,似乎转来转去太麻烦了。
方法三:用网页特效捕捉f5事件。比如有如下代码:
window.document.onkeydown = keystroke;
function keystroke()
{
var key = event.keycode;
event.srcelement.releasecapture();
if(key == 116)
{
event.keycode=0;
event.returnvalue=false;
}
}
解决方法四:
前台按钮:
<asp教程:button id="button1" runat="server" onclick="button1_click" text="button" onclientclick="this.form.submit();this.disabled=true" usesubmitbehavior="false" />
后台代码:
protected void page_load( object sender, eventargs e )
{
if (page.ispostback)
{
button1.attributes.add("disabled", "disabled");
}
}
关键是红色部分onclientclick="this.form.submit();this.disabled=true" usesubmitbehavior="false" 。
解决方法五:
this.btnsubmit.attributes["onclick"] = this.getpostbackeventreference(this.btnsubmit) + ";this.disabled=true;"; //防止重复提交