1

我有一组相互嵌套的控件。最顶层的控件在 Page_Load 中有“DataBind()”方法调用,它触发内部控件的 DataBind() 方法调用。

我认为 PageLoad 应该在触发控件的 DataBind 事件之前完全完成(http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100).aspx)。那是对的吗?

问题是这个内部控件没有加载所有数据(它们应该从初步控件传递),结果因 NullPointer 异常而崩溃......

与此相关的问题:

  1. 为什么控件的 DataBind 在控件的 Page_Load 方法之前被调用?
  2. 如何正确初始化控件数据,以便在 DataBind() 调用最高父级之前,所有底部/嵌套控件都将具有所有必需的数据

谢谢你。

4

1 回答 1

0

看起来初始化是在页面加载和渲染之前发生的。它表示在初始化期间,所有控件都已初始化,或者更确切地说,所有用于呈现这些控件的代码都已运行但尚未绘制控件。如果是这种情况,那么这会在加载之前发生。

尝试在外部控件的 OnDataBound 事件期间执行内部控件的 DataBind。或者如果on依赖于另一个,则在依赖项的OnDataBound事件中加载依赖控件。

于 2013-07-06T17:47:03.310 回答