1

コードビハインドで動的にリピーターを作成しています。次に、DataBind() メソッドが呼び出されたときに、次のように OnItemDataBound イベントを実行します。

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

コンパイラは、「保護」されているため、このコンテキストでは関数 OnItemDataBound にアクセスできないことを通知します

必要な列の数はデータ ソース内のデータに依存するため、動的リピーターを作成しています。

DataBind メソッドが呼び出されたときに、データ ソース内の各項目に対して ItemDataBound コードを実行するにはどうすればよいですか?

4

1 に答える 1

4

おそらくイベント ハンドラーを追加したい場合は、次のAddHandlerステートメントを使用する必要があります。

AddHandler r.ItemDataBound, AddressOf Repeater1_OnItemDataBound

もちろん、メソッドはアクセス可能である必要があり、通常は同じクラスにあります。

Protected Sub Repeater1_OnItemDataBound(sender As Object, e As RepeaterItemEventArgs)
    ' ... '
End Sub
于 2012-09-17T16:11:22.297 に答える