2012-09-17 63 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 –

相關問題