【发布时间】:2015-07-18 14:49:35
【问题描述】:
我有一个 ASP.Net Web 应用程序,它有一个页面,其中包含在 Jquery 选项卡中显示的各种 GridView。这在 Firefox 和 Chrome 中运行良好,但页面在 IE 中呈现速度很慢。所以我想不是一次加载所有的gridviews,而是在用户点击标签时加载它们。
所以我设置了一个新的 aspx 页面,它接受要显示的参数。这一切在所有浏览器中都可以正常工作,并且页面现在在 IE 中又好又快。
然而,IE 又来咬我了,因为一旦页面遇到回发,它就会产生这个异常:
此页面的状态信息无效,可能已损坏。
据我了解,这是因为通过 AJAX 加载的 GridView 控件必须位于带有 runat="server" 的 <form> 标记内,这会改变整个页面的视图状态。因此,当它回发原始页面时,它似乎失去了它的视图状态。
然后我尝试关闭包含的 aspx 中的视图状态。通过EnableViewState="false",但这仍然不起作用。
我很困惑 Chrome 和 Firefox 是如何正常的,但只有 IE 出现 ViewState 错误。我还能做些什么来确保子页面不会改变 IE 中的 ViewState?
也许如果 ASP.Net 没有检测到浏览器是 IE,它不会做任何破坏页面的事情?
【问题讨论】:
-
你有任何控制台(我是指浏览器的开发者控制台)错误吗?
-
不 - 没有记录到开发者控制台:(