可能重复:
使用 ASP.NET 进行重定向后获取
我的表单上有一个按钮。在 button_click 事件中,我将一些数据插入到数据库中。如果我单击该按钮然后刷新页面,似乎该按钮被再次单击,因为我发现两次插入数据库的相同数据。有没有办法防止这种情况?
可能重复:
使用 ASP.NET 进行重定向后获取
我的表单上有一个按钮。在 button_click 事件中,我将一些数据插入到数据库中。如果我单击该按钮然后刷新页面,似乎该按钮被再次单击,因为我发现两次插入数据库的相同数据。有没有办法防止这种情况?
您必须使用PRG 模式来避免此问题。当您刷新页面时,您的最后一个请求(get 或 Post)再次重新提交到服务器。
解决方案:在点击事件中最后使用这个
Response.Redirect(@"~\page.aspx");
插入后,您可以使用重定向到同一页面Response.Redirect(Request.RawUrl)
这将防止问题