2012-09-17 27 views
1

我在后面的代码中动态创建中继器。然后我要执行的OnItemDataBound事件时调用的DataBind()方法,像这样:设置一个动态创建的中继器的ItemDataBound处理器

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

编译器告诉我函数OnItemDataBound,因为它是“保护”

是不是在这种情况下访问我正在创建一个动态中继器,因为它需要的列数取决于数据源中的数据。

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

回答

4

你可能想添加事件处理程序,那么你需要使用AddHandler声明:

AddHandler r.ItemDataBound, AddressOf Repeater1_OnItemDataBound 

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

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

除了我需要这样做:AddHandler Repeater1.ItemDataBound,AddressOf Repeater1_OnItemDataBound –

相关问题