Nic*_*ick 5 asp.net ajax asp.net-ajax browser-history
我试图阻止我的ASP.NET页面上发生的"闪烁"效果,当用户导航离开它时,用户通过浏览器后退按钮导航到页面时发生这种情况.闪烁的原因是我使用的是更新面板,在初始页面加载时会有一些内容.因此,当通过后退按钮加载页面时,初始内容会在使用正确的历史记录感知数据更新之前非常短暂地显示.
为了克服这个问题,我打算在初始页面加载时隐藏updatepanel(display:none),然后只要我们没有任何历史记录可以显示它.问题是我无法找出要检查的内容以确定是否有任何历史记录.我可以看到Sys.Application有一个_history成员但是当我在init初始检查它时,每次都是null.
有谁知道我应该检查什么以确定是否有历史要处理页面加载客户端?在什么时候这样做?
浏览器的后退按钮及其提供的功能完全独立于网页的内容。
您可以做的一件事是在进行 AJAX 更新时设置您的位置哈希。当您加载页面时,您也许能够检测到这一点。我没试过。您应该能够在服务器端解析出 url 的 # 部分,并查看您在 AJAX 历史记录中的位置。
location.hash = 'foo';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
986 次 |
| 最近记录: |