如何避免使用ASP.Net动态加载用户控件来重新绑定数据控件

时间:2011-07-29 14:12:46

标签: asp.net dynamic user-controls

总的问题是我有一个Web应用程序,它有许多隐藏的控件,根据用户权限或基于主页面中的特定操作显示和隐藏。因为有太多隐藏控件,并且这些控件的数据绑定中的每一个的组合与生成的呈现HTML的绝对大小配对,所以页面加载太慢。我们当然可以将数据绑定仅移动到控件的显示上,但这只能解决问题的一半。我们试图通过动态加载用户控件来解决这两个问题。众所周知,这种方法的问题在于,当动态加载控件时,必须在每个后续请求中将其重新添加到页面中。因此,任何时候都会在动态子控件上选择一个导致动作的下拉列表(如OnClick事件),它必须重新加载子控件,这本身并不坏但你还必须重新绑定页面上的所有控件或者你的数据绑定控件都将为空。那么无论如何都要在每次加载子控件的情况下重新绑定所有控件?我知道对于像文本框这样的简单事情,我可以保存视图状态,文本会在请求和重新加载控件之间保持不变,但是说子控件在绑定后有一个包含数百行数据的网格,我该如何坚持什么时候重装儿童控件?如果需要,我可以发布一个小例子。

1 个答案:

答案 0 :(得分:0)

使用更新面板,我想我只会调用服务器来获取更新的数据,而不是整页或控件。