Share

Динамическое добавления обработчика событий для объектов внутри Repeater

by Andrew · 06/11/2014

Этот код динамически добавляет процедуру MyEventHandler в виде обработчика события CheckedChanged для всех чекбоксов MyCheckBox находящихся внутри объекта Repeater.

' ======= Фрагмент .ASPX файла =======
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
	<ItemTemplate>
		<asp:CheckBox ID="MyCheckBox" runat="server" AutoPostBack="true" />
	</ItemTemplate>
</asp:Repeater>
' ======= Фрагмент .VB файла =======
Protected Sub Repeater1_ItemCreated(sender As Object, e As RepeaterItemEventArgs) Handles Repeater1.ItemCreated

	Dim ri As RepeaterItem = DirectCast(e.Item, RepeaterItem)
	If ri.ItemType = ListItemType.Item OrElse ri.ItemType = ListItemType.AlternatingItem Then
		Dim cb As CheckBox = TryCast(ri.FindControl("MyCheckBox"), CheckBox)
		AddHandler cb.CheckedChanged, AddressOf myEventHandler
	End If

End Sub

Protected Sub MyEventHandler(sender As Object, e As EventArgs)
	' Код обработки события
End Sub

You may also like