【问题标题】:ASP.NET: web form button onclick issueASP.NET:Web 表单按钮 onclick 问题
【发布时间】:2012-07-23 18:59:33
【问题描述】:

我在 c# 中使用 ASP.NET 实现 Web 窗体,我有一个页面,其中包含几个 TextBox 和一个提交按钮,当按下提交按钮时,来自 TextBox 的数据将插入到数据库中,页面将被保留并且没有重定向必填。

但是数据提交后有一个问题,如果F5/刷新页面没有点击提交按钮,数据会反复插入。

第一次提交后如何避免此类问题发生?

先谢谢你了。

【问题讨论】:

标签: c# asp.net webforms


【解决方案1】:

保存逻辑完成后,将 Response.Redirect 放置到同一页面。发生这种情况是因为浏览器在 F5 上重复最后一个请求,如果这是保存的 POST 请求。在 Response.Redirect 之后,最后一个请求将是 GET,您的问题将得到解决

【讨论】:

  • 这看起来可行,Response.Redirect 到同一页面是最佳做法吗?
  • 我不能说这是最佳实践,这取决于具体情况。
【解决方案2】:

不幸的是,您无法阻止类似的事情发生,因为在您按下刷新后浏览器会再次执行相同的代码,因此您无能为力,但您可以再次使用 response.redirect 到同一页面。

您还可以检查数据库中的重复项,如果该记录存​​在,请不要再次保存。

希望能帮到你

【讨论】:

    猜你喜欢
    • 2018-11-03
    • 2012-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-13
    • 2012-11-01
    • 1970-01-01
    • 2019-02-27
    相关资源
    最近更新 更多