单击浏览器中的“后退”按钮会使页面过期

时间:2015-03-05 10:17:41

标签: c#

我正在使用.NET c#。 我有一个搜索页面,在下一页显示结果。 如果您选择的课程不是您想要的课程,您可以单击“返回浏览器”并转到搜索结果以选择其他课程。 但是在浏览器中单击返回会导致页面过期。 我有一个后退按钮,工作正常,但在浏览器中单击返回数据。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

过期页面上的数据通过POST方法发送。它将要求用户重新发送数据。您可以做的是将表单方法更改为GET(由于数据大小,安全性,URL可读性,日志记录和其他因素,并不总是可接受)。如果GET不是一个选项,您应该以某种方式缓存POST结果(例如,将其放入会话中)并重定向到一个干净的页面,该页面将显示缓存的结果,而无需用户重新发送它。当您通过“后退”按钮返回到该页面时,没有问题,因为该页面不是由POST请求直接生成的,它只显示结果。

如果POST结果太大而无法缓存,那么只需缓存输入参数并在" clean"中基于它们构建查询。页。一旦显示结果,后退按钮将无需重新加载即可工作。