我在 ASP.NET 2.0 Web 表单上有一个转发器控件。
据我了解,页面的所有数据绑定(bind)控件都会在 Page_Load
和 Page_PreRender
事件之间的某个位置触发其绑定(bind)事件。
但是,我的转发器的 ItemDataBound
事件似乎是在 PreRender
事件之后发生的。
这是怎么回事?在所有 ItemDataBound
事件触发后,我有什么方法可以访问页面控件吗?
更新:
转发器使用
ObjectDataSource
以及转发器控件中的DataSourceID
声明集。数据源 ID 或对象在页面生命周期中根本不会被修改。
最佳答案
声明性数据绑定(bind)(通过 DataSourceID 属性指定的数据源)晚于 PreRender 事件发生。您所观察到的行为是设计使然的。如果这不是您所需要的,您应该显式地对您的控件进行数据绑定(bind) - 只需调用其 DataBind 方法。
关于ASP.NET Repeater ItemDataBound 在 PreRender 事件之后发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/219467/