【问题标题】:Re submission restriction in c#c#中的重新提交限制
【发布时间】:2014-01-29 12:44:55
【问题描述】:

如何限制前、后重新提交的操作。例如,如果我在重新提交 (f5) 时单击一个按钮,该页面将刷新,我们之前单击的按钮将再次执行。所以我不想再次执行。那么你能帮我解决这个问题吗?

【问题讨论】:

标签: c#


【解决方案1】:

你应该阅读PRG模式

Post/Redirect/Get (PRG) 是一种 Web 开发设计模式, 防止一些重复的表单提交,创建更直观的 用户代理(用户)的接口。 PRG 实现书签和 以可预测的方式刷新按钮,不会创建重复 表单提交。

更多关于这个here

对其工作方式的简短说明:

当通过 HTTP POST 请求将 Web 表单提交到服务器时, 尝试在某些情况下刷新服务器响应的 Web 用户 用户代理可以导致原始 HTTP POST 请求的内容 重新提交,可能会导致不希望的结果,例如 重复的网络购买。为了避免这个问题,许多 Web 开发人员使用 PRG 模式1 — 不是直接返回网页,而是 POST 操作返回一个重定向命令。

【讨论】:

    【解决方案2】:

    您可以考虑将用户重定向到另一个网页,以便使用 GET 发出后续请求。

    这里的目标是加载提交操作页面的行为会导致浏览器在刷新时重新提交。毕竟,您实际上是在第二次请求相同的提交操作。通过重定向到另一个页面,您的请求现在将使用 GET 完成,并且加载的页面不会是执行提交逻辑的页面。

    这也称为Post/Redirect/Get pattern

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-13
      • 2011-12-10
      • 2013-04-03
      • 1970-01-01
      • 2019-08-06
      • 2011-06-25
      • 1970-01-01
      相关资源
      最近更新 更多