数据绑定-ASP.NET Repeater ItemDataBound发生在PreRender事件之后



我在ASP.NET 2.0 web表单上有一个中继器控件。

据我所知,页面的所有数据绑定控件都会在Page_LoadPage_PreRender事件之间的某个位置触发绑定事件。

但是,我的中继器的ItemDataBound事件似乎发生在PreRender事件之后。

这是怎么回事?在所有ItemDataBound事件触发后,我有什么方法可以访问页面控件吗?

更新:

  • 中继器使用在中继器控制中具有DataSourceID声明性集合的ObjectDataSource

  • DataSource ID或对象在页面生命周期中根本没有修改。

声明性数据绑定(通过DataSourceID属性指定的数据源)发生在PreRender事件之后。你观察到的行为是故意的。如果这不是你所需要的,你应该显式地对你的控件进行数据绑定——只需调用它的databind方法。

您是否专门绑定中继器(myRepeater.DataBind();)在代码隐藏文件中(例如在Page_Load()事件中)?

您是否已签出ASP.NET事件生命周期?很抱歉,如果你已经知道这一点,但以防万一:http://msdn.microsoft.com/en-us/library/ms178472.aspx

希望能有所帮助。

里卡多。

我想我也遇到过类似的情况,我的选择是通过调用EnsureChildControls或类似的方法来强制控件绑定自己。

相关内容

  • 没有找到相关文章

最新更新