我在 c# 中使用 ASP.NET 实现 Web 表单,我有一个页面,其中包含几个 TextBox 和一个提交按钮,当按下提交按钮时,来自 TextBox 的数据将插入到数据库中,该页面将被保留并且不需要重定向。
但是数据提交后有一个问题,如果F5/刷新页面没有点击提交按钮,数据会反复插入。
第一次提交后如何避免此类问题发生?
提前谢谢你。
保存逻辑完成后,将 Response.Redirect 放置到同一页面。发生这种情况是因为浏览器在 F5 上重复最后一个请求,如果这是保存的 POST 请求。在 Response.Redirect 最后一个请求将是 GET 之后,您的问题将得到解决
不幸的是,您无法阻止类似的事情发生,因为在您按下刷新后浏览器会再次执行相同的代码,因此您无能为力,但您可以再次使用 response.redirect 到同一页面。
您还可以检查数据库中的重复项,因此如果该记录存在,请不要再次保存。
希望我有所帮助