2

CompositeDataBoundControl 类 ( http://msdn.microsoft.com/en-us/library/ms366539(v=vs.100).aspx ) 的文档说明如下:

这是扩展 DataBoundControl 类的基类,提供以下功能:

  • 实现复合控件所需的典型代码,包括在进行回发后从视图状态恢复控件的子控件层次结构的代码。
  • 绑定到 IEnumerable 数据源并枚举数据以构建控件树。
  • 作为数据绑定控件的基础,例如 GridView 和 DetailsView。

谁能解释或展示如何创建一个 CompositeDataBoundControl 的示例,该控件将在 PostBack 之后保留其控件而无需手动调用 DataBind?我的例子太复杂了,不能post,但是比如你绑定一个ListView,每个item都会在PostBack之后渲染。该文档似乎表明从此类继承时将自动处理此问题,但我无法做到这一点。

我可以看到,即使我不调用 DataBind,每次回发后都会调用 CreateChildControls,但数据源是一个空对象的 IEnumerable(一个 DummyDataSource,与回发之前在原始数据源中传递的数量相同) . 看来我应该对这个集合做点什么,但我不确定要创建的控件类型取决于该项目的类型(在这种情况下,我绑定到 PropertyInfo 列表并创建某个类取决于属性的属性)。

感谢您的任何帮助,您可以提供!

4

0 回答 0