当前位置:  开发笔记 > 后端 > 正文

ASP.NET Repeater ItemDataBound发生在PreRender事件之后?

如何解决《ASP.NETRepeaterItemDataBound发生在PreRender事件之后?》经验,为你挑选了1个好方法。

我在ASP.NET 2.0 Web表单上有一个转发器控件.

据我了解,所有页面的数据绑定控件都会Page_LoadPage_PreRender事件和事件之间的某处触发绑定事件.

但是,我的转发器ItemDataBound事件似乎发生在PreRender事件发生后.

这是怎么回事?有什么方法可以在所有ItemDataBound事件被解雇后访问页面控件?

更新:

Repeater使用ObjectDataSource带有DataSourceID转发器控件中的声明集的a.

在页面生命周期中根本不修改DataSource ID或对象.

Atanas Korch.. 7

声明性数据绑定(通过DataSourceID属性指定的数据源)发生在PreRender事件之后.您正在观察的行为是设计的.如果这不是你需要的,你应该明确地数据控制你的控件 - 只需调用它的DataBind方法.



1> Atanas Korch..:

声明性数据绑定(通过DataSourceID属性指定的数据源)发生在PreRender事件之后.您正在观察的行为是设计的.如果这不是你需要的,你应该明确地数据控制你的控件 - 只需调用它的DataBind方法.


我用一个简单的页面测试过.以下是执行事件的顺序:Page_Load Page_PreRender Repeater1_DataBinding Repeater1_ItemDataBound Repeater1_PreRender根据Reflector,在Repeater.OnPreRender中调用Repeater.EnsureDataBound.
推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有