确定IE刷新方式



我们有一个c#应用程序,当使用F5或通过点击URL并按Enter刷新浏览器(IE)时,其行为是不同的。是否有一种方法可以确定页面是如何刷新的?

如果您使用的是ASP。. NET web表单,检查Page_Load中的IsPostBack成员,看看您是第一次加载页面(url enter)还是第二次或更多次(F5)。

您可以使用referrer查看页面是否被其他页面引用或被浏览器打开

我不相信有一个直接的,简单的方法来测试这一点。点击"go"和按F5的主要区别在于,"go"将始终执行HTTP GET,而F5将重复最后一个HTTP请求,这可能是一个HTTP GET,也可能是一个HTTP POST。

这可能以以下方式表现出来——你可能有一个按钮被点击了两次(因为你点击了它,然后在页面重新加载后按了F5)。

说了这么多,考虑一下:

  • 如果你遇到基于"go"和F5的行为问题,你几乎肯定在应用程序中做了一些错误或"非法"的事情。
  • 试图解释用户在浏览器中所做的确切细节是错误的方法;HTTP协议描述了浏览器如何与服务器交互,试图找出黑盒子背后的错误。您需要设计您的应用程序,以便它在常见的HTTP场景中"表现良好",例如:

最新更新