繁体   English   中英

动态控件,禁用ViewState和回发

[英]Dynamic Controls, Disabling ViewState and Postbacks

在浪费了数小时尝试解决动态用户控件的ViewState丢失之后,我决定ViewState禁用ViewState

问题是我现在该怎么办? 我应该如何保持动态控件的状态,以使它们在回发后不会丢失。 我正在考虑改为使用Session,但这意味着我必须为用户打开的每个页面/选项卡生成唯一键,以便值不会被覆盖(对吗?)。 最好的方法是什么?

为了确保动态用户控件的查看状态,您需要确保

  • 在每个回发场景中创建动态控件
  • 它们是在页面生命周期中尽早创建的-最好是init和load状态(在控制事件中加载它们不太可能)
  • 动态控件层次结构应完全相同,并且层次结构中的所有控件的ID应与上一个请求中的ID相同
  • 始终分配ID(否则它们可能会自动生成并且可以具有不同的值),并且应该在将控件添加到控件树之前进行分配。

将视图状态存储更改为说会话而不是隐藏字段将无法解决ASP.NET运行时已加载视图状态或无法将控件与其视图状态数据关联的问题(从ID和层次结构推断) )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM