我在ASP.NET 2.0 web表单上有一个中继器控件。
据我所知,页面的所有数据绑定控件都会在Page_Load
和Page_PreRender
事件之间的某个位置触发绑定事件。
但是,我的中继器的ItemDataBound
事件似乎发生在PreRender
事件之后。
这是怎么回事?在所有ItemDataBound
事件触发后,我有什么方法可以访问页面控件吗?
更新:
-
中继器使用在中继器控制中具有
DataSourceID
声明性集合的ObjectDataSource
。 -
DataSource ID或对象在页面生命周期中根本没有修改。
您是否专门绑定中继器(myRepeater.DataBind();)在代码隐藏文件中(例如在Page_Load()事件中)?
您是否已签出ASP.NET事件生命周期?很抱歉,如果你已经知道这一点,但以防万一:http://msdn.microsoft.com/en-us/library/ms178472.aspx
希望能有所帮助。
里卡多。
我想我也遇到过类似的情况,我的选择是通过调用EnsureChildControls或类似的方法来强制控件绑定自己。