c# - 点击刷新网页后,再次触发 Button1_Click 事件

标签 c# .net asp.net

我有一个简单的网络表单,其中有几个文本字段、标签和提交按钮。当我单击“提交”按钮时,将触发“button1”事件并提交数据。

但让我担心的是,当我提交数据后立即刷新页面时,出现以下错误:

enter image description here

当我查看数据库来检查条目时,发现存在重复条目。

我不明白为什么即使我点击刷新按钮点击也会被触发,而且我无法点击 Button1。

如何避免这种情况发生。

最佳答案

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

这是很正常的行为,但是!在处理 POST 的过程中,您必须检查是否两次发布相同的数据,这是严重的错误。您可以在业务逻辑杠杆或数据库级别处理该问题,这并不重要。但应该处理一下。

关于c# - 点击刷新网页后,再次触发 Button1_Click 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6660043/

相关文章:

asp.net - IE6 上的 ASP 按钮问题

c# - OS X 上的 C# 入门

c# - MVC session 变量存储内存与磁盘缓存

.net - ASP.NET MVC 4 WebAPI PostAsJsonAsync Newtonsoft.Json 错误

c# - 从托管 .NET 代码调用 native 回调(使用 COM 加载托管代码时)

c# - ASP+EF加载程序集问题

c# - C# 中的自定义属性

Linux 中使用 Mono 的 C# List<string>

.net - 使用 -notcontains 过滤文件

asp.net - 我不想渲染表单标签