启用ViewStateMode对子控件的子控件不起作用

本文关键字:控件 不起作用 ViewStateMode 启用 | 更新日期: 2023-09-27 18:17:28

我正在开发。net 4.0应用程序。我试图加载一堆自定义控件,有一个"gridview"控制随着几个文本框和下拉框。由于viewstate确实减慢了系统的速度,为了提高性能,我禁用了父控件(即用户控件)的ViewStateMode,并启用了下拉菜单的ViewStateMode。但问题是我有gridview和面板内的下拉菜单抛出一个错误,即使他们的ViewStateMode是启用的。如果我启用gridView或Panel的ViewStateMode,它工作得很好,但这增加了Viewstate的大小。有人能让我明白为什么会发生这种情况,解决方案是什么?

谢谢BB

启用ViewStateMode对子控件的子控件不起作用

如果你有大量的视图状态。那么我给你推荐两种对我也有效的方法

  1. Compress Viewstate - http://www.codeproject.com/KB/viewstate/ViewStateCompression.aspx, http://www.hanselman.com/blog/ZippingCompressingViewStateInASPNET.aspx

  2. 在html中跟踪渲染区域的布局,使用div, ul, li等。现在,不再放置网格和其他服务器控件,而是获取数据源(数据表或数据集),遍历条目并在代码后面生成html,并使用文字在页面上编写最终的html标记。使用HTML控件可以摆脱视图状态问题。同样在html标签上,你也可以应用jquery来使它更好。