关于页面刷新后重复提交的解决方法
? ? ? 最近一直再研究如何防止刷新页面后重复提交的问题。在网上搜索了好多资料,好多就是用隐藏控件呀,session之类
的或者禁止按钮。但是这些好像都没有解决我的问题,后来在csdn上看了一篇博客,大致思路是利用委托的方法来防止页
面刷新提交的问题。代码整理了一下:
前台代码:
?
?
?
后台代码:
?
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Default7 : System.Web.UI.Page { private static bool SubmitState = false; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { SubmitState = false; } //判断页面是否初始化以及提交的状态 if (IsPostBack && SubmitState) { //从委托队列中删除原始事件 this.btn.Click -= new EventHandler(btn_Click); this.btn.Click += new EventHandler(kenButton1_Click); } } //重复提交事件 private void kenButton1_Click(object sender, EventArgs e) { Response.Write("请不要重复提交,或者刷新"); } //提交 protected void btn_Click(object sender, EventArgs e) { Response.Write("提交成功"); SubmitState = true; } }