我遇到了一个需要 PRG 修复的问题,在这里得到了解答: how to manage session attributes due to post requests, and history
但是,我似乎还有另一个问题。一旦初始 PRG 发生,假设我执行相同的 PRG 以向用户显示不同的客户。用户查看这个新客户,并在点击后退按钮时显示前一页/客户就好了。我的问题是会话中存储的将是最新的客户 ID,而不是前一个。
我考虑在我的控制器中再创建两个方法来反映我为 PRG 制作的前两个方法,但这需要创建更多视图,以便用户不访问任何其他会话属性相关的数据/模块/视图。
我使用 PRG 和发布请求的唯一原因是因为我想安全地发送所有数据并隐藏。
老实说,我不知道如何解决这个问题,因为我不知道在单击后退按钮时提出请求的任何方式。我应该放弃 PRG 方法吗?我应该改用什么?有没有办法让 PRG 工作,以便后退按钮的行为类似于获取请求?