打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
asp.net网页防刷新重复提交、防后退解决办法集!

1、提交后 禁用提交按钮(像CSDN这样)
2、数据处理成功马上跳转到另外一个页面!
 
操作后刷新的确是个问题,你可以使用跳转页面、关闭本页面,如果是有参数据条件来控制的,那就应该好做了,可以直接修改window.location的值,把值的参数全部改掉,这样就可以了。我用的方法就是以上的。
 

document.all("save_"+idx).disabled=true;


刚才有位兄弟也这么问其实很简单
在提交的页面也就是数据库处理之前
if session("jy")=true then
response.write "错误,正在提交"
response.end
end if
在数据库处理完毕后,释放session("jy")
session("jy")=false
即可!


用SESSION 或者用个麻烦点的方法:

用window.open 弹出表单输入页面,点提交后关闭该页;

处理提交的ASP页也是用弹出,即先设定表单的target为"submit_form",点提交时window.open("XXX.asp","submit_form"),然后用JS来提交表单,最后就是window.close();

对处理提交的ASP页,输入数据到数据库完成后,弹出对话框,“提交成功”什么的,最后也来个window.close();

因为对于window.open()打开的窗口,用window.close()来关闭时不会弹出提示框,直接就关闭窗口了,这样用户就根本没有机会做重复提交了。

不知道这样合不合你的意思
 
 
2、数据处理成功马上跳转到另外一个页面!
这个方法最简单
 
转:(原理借用)

首先,我们可以定义一个session变量用来保存一个表单的提交序列号。这里我定义为“$userLastAction”。然后在表单里加入一个hidden变量,把值设为$userLastAction+1:
<input type=Hidden name=lastAction value=<? =$userLastAction+1 ?>>
最后,在处理提交之前判断表单是否已被提交过:
if($lastAction>$userLastAction and inputIsValid(...)){
$userLastAction++; // 序列号加1
// 处理表单数据
}
我一直使用这个
你的后台处理页面,也就是数据接收页面,执行完相关的操作后,使用下面的语句:
response.write("<script>alert(‘数据提交成功******‘);window.location.href=‘你想要转向的页面的地址‘;</script>")
这样随便他返回后怎么刷新,显示的始终是“数据提交成功******”的对话框

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
防刷新重复提交、防后退方法
ASP.NET(C#)不提示直接关闭当前页面
解决 asp.net 弹出窗口反应慢的问题
ASP.NET初级学习
ASP.NET中使用AJAX时如何弹出对话框
如何在ASP.NET环境下长期保存ASP.NET页面的session变量
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服