您的位置:首页 > 其它

关于刷新重复提交的一种解决思路

2007-09-08 16:01 239 查看
之前修改公司项目的一个问题,就是刷新页面表单重新提交了错误数据。在网上也查了一些资料,最简单的就 提交完以后将页面导到别的页面,或者就是将按钮禁用。最终问题我没有解决,但是在我在CSDN上看到另外一篇博客,介绍了如何用委托来防止页面刷新提交的问题,具体是那个博客我不记得了,博客上面提供的代码并不能正确运行,我修改了一下,可以正确运行了。这个思路比较适合那种只需要提交一次的场合。下面吧代码贴出来,大家可以提出更好的解决办法。


private static bool SubmitState = false;


protected void Page_Load(object sender, EventArgs e)




...{


//判断页面是否初始化以及提交的状态


if (IsPostBack && SubmitState)




...{


//从委托队列中删除原始事件


this.Button1.Click -= new EventHandler(Button1_Click);


this.Button1.Click += new EventHandler(kenButton1_Click);





}


}





//重复提交事件


private void kenButton1_Click(object sender, EventArgs e)




...{


Response.Write("请不要重复提交,或者刷新");





}




//提交


protected void Button1_Click(object sender, EventArgs e)




...{





Response.Write("提交成功");


SubmitState = true;


this.Button1.Click -= new EventHandler(Button1_Click);


this.Button1.Click += new EventHandler(kenButton1_Click);








}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: