微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 当页面包含视图状态变量时无法加载视图状态

当我不在包含viewstate的页面上使用或处理几分钟并重新加载页面时,我收到此错误

无法加载viewstate.正在加载视图状态的控制树必须与在上一个请求期间用于保存视图状态的控制树匹配.例如,在动态添加控件时,在回发期间添加的控件必须与初始请求期间添加的控件的类型和位置相匹配.

我通过设置页面设​​置enableviewstate = false来获得解决方

但在应用此之后,viewstate变量在此页面上不起作用.

解决方法

原因可能是您在Page_Load中动态添加控件.即在Page_Load中添加一些网格,并将其视图状态保存到页面中,但是当页面回发并解析ViewState时,引擎无法找到已解析的ViewState的相应控件.

这就是在页面完全加载后触发Load事件(由Page_Load处理),即创建子项,查看状态解析和应用,但在单击触发和呈现页面之类的客户端事件之前.

将动态控件添加到Page_Init,并确保它们每次创建时都完全相同,即在回发后的第一页初始化和初始化页面初始化.

一个有用的链接ASP.NET Page Life Cycle

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐