设置动态创建的转发器的ItemDataBound处理程序

时间:2012-09-17 16:04:22

标签: vb.net events data-binding repeater

我正在代码后面动态创建转发器。然后我想在调用DataBind()方法时执行OnItemDataBound事件,如下所示:

Dim Repeater1 As New Repeater()
Repeater1.DataSource = dataSource
Repeater1.OnItemDataBound = "Repeater1_OnItemDataBound"
Repeater1.DataBind()

编译器告诉我OnItemDataBound函数在这个上下文中是不可访问的,因为它是'Protected'

我正在创建一个动态转发器,因为它需要的列数取决于数据源中的数据。

调用DataBind方法时,如何为数据源中的每个项执行ItemDataBound代码?

1 个答案:

答案 0 :(得分:4)

您可能想要添加事件处理程序,然后需要使用AddHandler语句:

AddHandler r.ItemDataBound, AddressOf Repeater1_OnItemDataBound

当然这个方法必须是可访问的,通常它在同一个类中:

Protected Sub Repeater1_OnItemDataBound(sender As Object, e As RepeaterItemEventArgs)
    ' ... '
End Sub