在点击刷新网页时,再次触发Button1_Click事件

时间:2011-07-12 05:57:29

标签: c# .net asp.net

我有一个简单的webform,它有很少的文本字段,leabel和Submit按钮。当我单击“提交”按钮时,将触发button1事件并且数据已提交。

但令我担心的是,当我立即提交数据后刷新页面然后我得到以下错误:

enter image description here

当我看到数据库检查条目时,存在重复的条目。

我不明白为什么即使我点击刷新按钮点击甚至被触发也没有办法点击Button1。

我该如何避免这种情况发生。

3 个答案:

答案 0 :(得分:4)

这里发生了什么:然后你刷新页面,浏览器发送与之前发送的完全相同的请求,因为你发布了它向服务器发送POST的表单。通常,相同的表单永远不应该提交两次,因此浏览器(不仅是IE)会发出警告。由于您确认它重新发送相同的表单并且您第二次执行了代码。

这是很正常的行为,但是!一直处理POST,你必须检查你没有发布两次相同的数据,这是严重的错误。您可以在商务逻辑杠杆或DB级别处理,无关紧要。但它应该被处理。

答案 1 :(得分:1)

这是一种自然行为。避免这种情况的最简单方法之一是在帖子后重定向到同一页面。

答案 2 :(得分:0)

当您按下刷新按钮时,它将发送请求以获取按钮点击事件之前启动的当前页面。

您可以从以下链接获得更多帮助。

http://aspalliance.com/687
http://msdn.microsoft.com/en-us/library/ms379557%28VS.80%29.aspx
http://www.codersource.net/asp-net/asp-net-articles/working-with-post-back-in-asp-net.aspx
http://www.knowdotnet.com/articles/asppagerefresh.html