gpt4 book ai didi

c# - 在不丢失 View 状态的情况下防止在浏览器刷新时重新提交 webform

转载 作者:太空狗 更新时间:2023-10-30 00:59:24 25 4
gpt4 key购买 nike

重复: How can I prevent database being written to again when the browser does a reload/back?


如果用户请求从浏览器刷新,是否有一种优雅的方式来阻止 .aspx 页面重新提交表单数据?

理想情况下不会丢失 View 状态。

编辑: 对我来说最优雅的解决方案是将相关控件包装在 asp.net ajax UpdatePanel 中。给大家。

最佳答案

生成唯一标识符并将其插入同样存储在服务器上的页面。在提交表单时存储该值,不要让该值多次传递。

更新:这是执行此操作的唯一“正确”方法。当我这么说时,我的意思是在服务器端存储一些东西。任何基于客户行为的东西都可能有问题。这些实现不关心潜在的浏览器错误、不兼容性、javascript 禁用、连接超时等。

服务器端的某些东西需要知道这个特定的 Action 已经被执行并在服务器端停止它。我强调这一点,因为通常需要这样做来阻止客户刷新和制作多个订单(以及可能的多个账单)。这也允许客户端在服务器未实际接收到操作并对其采取行动时优雅地刷新(例如,在超时的情况下)。

关于c# - 在不丢失 View 状态的情况下防止在浏览器刷新时重新提交 webform,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/542284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com