【问题标题】:Prevent clicking a button after page reload [duplicate]页面重新加载后防止单击按钮[重复]
【发布时间】:2012-12-09 19:28:34
【问题描述】:

可能重复:
Post-Redirect-Get with ASP.NET

我的表单上有一个按钮。在 button_click 事件中,我将一些数据插入到数据库中。如果我单击该按钮然后刷新页面,似乎该按钮被再次单击,因为我发现两次插入数据库的相同数据。有没有办法防止这种情况发生?

【问题讨论】:

  • 请贴一些相关代码
  • @Aristos,我知道这可能是重复的。但我必须首先知道 Post-Redirect-Get 是什么才能提出包含它的问题。您提到的两个帖子都没有与我类似的问题。这就是我问这个问题的原因。
  • @MikeJM 我并没有说任何反对你的东西(没有投票减去任何东西),我知道你找不到它,我只是提供一些链接来帮助你查看可能的解决方案。

标签: asp.net page-refresh


【解决方案1】:

你必须使用PRG patern 来避免这个问题。 当您刷新页面时,您的最后一个请求(get 或 Post)再次重新提交到服务器。

解决方案:在点击事件中最后使用这个

  Response.Redirect(@"~\page.aspx");

【讨论】:

    【解决方案2】:

    插入后,您可以使用 Response.Redirect(Request.RawUrl) 重定向到同一页面

    这样可以避免问题

    【讨论】:

    • 你在这里输入的是工作,但是用户不明白仅仅重新加载页面就知道数据是否是最终插入的。
    猜你喜欢
    • 2021-03-01
    • 2019-04-12
    • 2012-03-21
    • 2012-11-24
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 2019-06-24
    • 2018-10-15
    相关资源
    最近更新 更多