【发布时间】:2011-10-16 00:16:50
【问题描述】:
总体问题是我有一个 Web 应用程序,其中包含许多隐藏控件,这些控件根据用户权限或基于主页中的特定操作显示和隐藏。由于隐藏的控件太多,而且这些控件的数据绑定中的每一个都与生成的呈现 HTML 的绝对大小配对,因此页面加载速度太慢。我们当然可以将数据绑定移动到仅在控件显示时发生,但这只能解决一半的问题。我们试图通过动态加载用户控件来解决这两个问题。众所周知,这种方法的问题在于,在动态加载控件时,必须在每次后续请求时将其重新添加到页面中。因此,任何时候说在导致动作的动态子控件上选择下拉菜单(如 OnClick 事件),它必须重新加载子控件,这本身还不错,但您还必须重新绑定页面上的所有控件或您的数据绑定控件将全部为空。那么有没有办法避免在每次加载子控件时重新绑定所有控件?我知道对于像文本框这样简单的东西,我可以保存视图状态,并且文本会在请求和重新加载控件之间持续存在,但是说子控件在绑定后有一个包含数百行数据的网格,我该如何坚持重新加载子控件时?如果需要,我可以发布一个小例子。
【问题讨论】:
标签: asp.net dynamic user-controls