asp.net 防止重复提交
2008-04-29 15:48
381 查看
转自:http://hi.baidu.com/itman/blog/item/f3a2bc3ea3e48f
<asp:button id="btnSubmit" onclick="btnSubmit_Click" runat="server" OnClientClick="this.disabled=true;this.form.submit();" UseSubmitBehavior="False" />
解决重复提交:OnClientClick="this.disabled=true;this.form.submit();" UseSubmitBehavior="False"
解决方法二:
this.btnSubmit.Attributes["onclick"] = this.GetPostBackEventReference(this.btnSubmit) + ";this.disabled=true;"; //防止重复提交
Response.Write("<script>alert('上传成功,请确定返回!');window.location = '" + Request.Url + "'</script>")
<script language="javascript">
var secs = 10;
function buttonDisabled() {
window.document.csvActionForm.btnSend.disabled = true;
for(i = 1 ; i <= secs ; i ++) {
window.setTimeout("update(" + i + ")", i * 1000);
}
}
function update(num) {
if(num == secs) {
window.document.csvActionForm.btnSend.disabled = false;
}
}
</script>
在你的linkbutton的事件里,调用buttonDisabled即可。这段代码是延迟10秒。
总结:
1.提交后disable按钮一段时间
link1.attributes.add("onclick","return test()");
function test()
{
window.document.all.link1.disabled = true;
return true;
}
//执行操作
......................
string scriptString = "window.document.all.link1.disabled = false";
if(!this.IsStartupScriptRegistered("Startup"))
this.RegisterStartupScript("Startup", scriptString);
2.在数据库端更新前检查
3.重定向到本页面(ASP的方法) Response.Redirect("CureentPage.aspx")
4.用Session,把页面提交的所有状态做成Session,每次提交时检查Sesion与当前提交内容是否相同,
如果相同,就不提交(这种方法的缺点是有点占服务器端内存)
<asp:button id="btnSubmit" onclick="btnSubmit_Click" runat="server" OnClientClick="this.disabled=true;this.form.submit();" UseSubmitBehavior="False" />
解决重复提交:OnClientClick="this.disabled=true;this.form.submit();" UseSubmitBehavior="False"
解决方法二:
this.btnSubmit.Attributes["onclick"] = this.GetPostBackEventReference(this.btnSubmit) + ";this.disabled=true;"; //防止重复提交
Response.Write("<script>alert('上传成功,请确定返回!');window.location = '" + Request.Url + "'</script>")
<script language="javascript">
var secs = 10;
function buttonDisabled() {
window.document.csvActionForm.btnSend.disabled = true;
for(i = 1 ; i <= secs ; i ++) {
window.setTimeout("update(" + i + ")", i * 1000);
}
}
function update(num) {
if(num == secs) {
window.document.csvActionForm.btnSend.disabled = false;
}
}
</script>
在你的linkbutton的事件里,调用buttonDisabled即可。这段代码是延迟10秒。
总结:
1.提交后disable按钮一段时间
link1.attributes.add("onclick","return test()");
function test()
{
window.document.all.link1.disabled = true;
return true;
}
//执行操作
......................
string scriptString = "window.document.all.link1.disabled = false";
if(!this.IsStartupScriptRegistered("Startup"))
this.RegisterStartupScript("Startup", scriptString);
2.在数据库端更新前检查
3.重定向到本页面(ASP的方法) Response.Redirect("CureentPage.aspx")
4.用Session,把页面提交的所有状态做成Session,每次提交时检查Sesion与当前提交内容是否相同,
如果相同,就不提交(这种方法的缺点是有点占服务器端内存)
相关文章推荐
- ASP.Net中防止页面刷新重复提交的几种方法
- asp.net 服务器控件防止重复提交表单
- asp.net防止页面刷新引起重复提交数据
- Asp.net实现弹出窗口提示,又防止刷新被重复提交的方法
- ASP.NET防止按F5键造成表单重复提交
- asp.net 防止页面刷新或后退引起重复提交
- ASP.NET AJAX 添加请求处理事件来防止按钮重复提交
- Asp.net实现弹出窗口提示,又防止刷新被重复提交的方法
- asp.net 防止页面刷新重复提交的小技巧
- ASP.NET中防止页面刷新造成表单重复提交执行两次操作
- ASP.NET中防止页面刷新造成表单重复提交执行两次操作
- asp.net 防止页面重复提交
- 关于asp.net 防止重复提交的2种方法(二)
- asp.net禁用按钮以防止重复提交
- asp.net清除页面缓存,防止页面回退重复提交数据及防止同一用户同时登录
- Asp.Net防止刷新重复提交数据
- ASP.NET怎么防止多次点击提交按钮重复提交
- ASP.NET中的ListView中防止刷新导致的重复post提交的问题
- ASP.NET 后退问题 .net 防止刷新 后退重复提交
- 防止Asp.net按钮重复提交。