gpt4 book ai didi

c# - 如何在 asp.net webforms 中正确实现 PRG 模式

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

我有一个简单的三页 asp.net webforms 站点,当在第 3 步返回时,后退浏览器按钮会抛出弹出窗口“...Firefox 必须发送任何将重复任何操作的信息...” .aspx.

流程是:用户登陆 step1.aspx, session 开始,用户对产品报价并被重定向到 step2.aspx。在 step2.aspx 上,您通过单击 asp:Button 确认购买。 OnClick 事件处理程序 btnPurchase_Click 处理购买和重定向的逻辑,Response.Redirect("step3.aspx") 到 step3.aspx。 Step3.aspx 仅显示确认页面(收据详细信息)。 session 在第 3 步被销毁,当用户点击后退浏览器按钮时,系统会提示他们重新提交帖子弹出窗口。理想情况下,我希望用户在没有重新提交提示的情况下点击 step1 进行回击。如果 session 无效,每个页面都设置为无缓存并重定向到 step1。

有人有更好的流程建议吗?

本网站最终将迁移到 asp.net mvc/ajax,这很可能会使 PRG 工作流程更易于实现,但目前,寻找一种相对简单的方法。

最佳答案

一个简单的解决方案是绝不允许页面在回发时呈现,而是接受/存储它发布的任何信息,然后重定向到下一页(或它本身)。

这样,如果用户点击后退按钮,它将返回到 GET,而不是 POST,并避免弹出。

关于c# - 如何在 asp.net webforms 中正确实现 PRG 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7405953/

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