代码之家  ›  专栏  ›  技术社区  ›  Matias Nino

ASP。NET中继器ItemDataBound在预渲染事件后发生?

  •  10
  • Matias Nino  · 技术社区  · 16 年前

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

    据我所知,页面的所有数据绑定控件都会在 Page_Load 以及 Page_PreRender 事件。

    然而,我的中继器 ItemDataBound 事件似乎发生在 PreRender 活动。

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

    更新:

    • 中继器使用 ObjectDataSource DataSourceID 中继器控制中的声明性设置。

    • DataSource ID或对象在页面生命周期内根本不会被修改。

    3 回复  |  直到 10 年前
        1
  •  7
  •   Atanas Korchev    16 年前

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

        2
  •  1
  •   Ricardo Villamil    16 年前

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

    你查过ASP了吗。NET事件生命周期?很抱歉,如果你已经知道了,但以防万一: http://msdn.microsoft.com/en-us/library/ms178472.aspx

    希望它能有所帮助。

    里卡多。

        3
  •  1
  •   Tanvir Tanvir    16 年前

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

        4
  •  0
  •   hova    16 年前
    推荐文章
    nat  ·  主页面破坏pre_init
    12 年前