我试图防止出现在我的 ASP.NET 页面上的“闪烁”效果,当用户导航离开该页面后通过浏览器后退按钮导航到该页面时会发生这种情况。闪烁的原因是我使用的更新面板在初始页面加载时有一些内容。因此,当页面通过后退按钮加载时,初始内容会在使用正确的历史感知数据更新之前非常简短地显示。
为了克服这个问题,我打算在初始页面加载时隐藏更新面板(显示:无),然后只要我们没有任何历史记录就可以显示它。问题是我不知道要检查什么来确定是否有任何历史记录。我可以看到 Sys.Application 有一个 _history 成员,但是当我在页面 init 上检查它时,它每次都为空。
有谁知道我应该检查什么来确定页面加载客户端是否有历史记录?什么时候做?
最佳答案
浏览器的后退按钮及其提供的功能完全独立于您的网页内容。
您可以做的一件事是在执行 AJAX 更新时设置您的位置哈希。您可能会在加载页面时检测到这一点。我没试过。您应该能够解析出服务器端 url 的 # 部分,并查看您在 AJAX 历史记录中的位置。
location.hash = 'foo';
关于asp.net - 当页面加载是 AJAX 历史记录点的结果时,如何检测客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2902899/