为什么在控制Page_Load方法之前调用DataBind?

时间:2013-07-06 17:23:17

标签: asp.net data-binding

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

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

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

与此相关的问题:

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

1 个答案:

答案 0 :(得分:0)

看起来在页面加载和渲染之前发生了Init。它说在init期间,所有控件都被初始化,或者更确切地说,所有用于渲染这些控件的代码都已经运行但是控件还没有被绘制出来。如果是这种情况,则会在加载之前发生这种情况。

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