1

我有一个复选框,它是中继器的一部分。当我选中该框和取消选中该框时,我试图让该复选框的 checkedchanged 事件发生。该事件目前仅在我选中该框时触发,但是……当我也取消选中时不会触发。我将在下面发布一些代码,希望有人可以引导我朝着正确的方向前进。谢谢!

将处理程序添加到中继器复选框控件

Dim MyCheckBox As New CheckBox

MyCheckBox = e.Item.FindControl("MyCheckBox")
AddHandler MyCheckBox.CheckedChanged, AddressOf MyCheckBox_CheckedChanged

我的 CheckedChanged 处理程序事件

    Private Sub MyCheckBox_CheckedChanged(sender As Object, e As System.EventArgs)
         Dim RepeaterItem As RepeaterItem

         For Each RepeaterItem In MyRepeater.Items
             If IsListItem(RepeaterItem) Then
                If CType(sender, CheckBox).Checked Then
                   CType(RepeaterItem.FindControl("SelectionCheckBox"), CheckBox).Checked = True
                Else
                   CType(RepeaterItem.FindControl("SelectionCheckBox"), CheckBox).Checked = False
                End If
             End If
         Next

    End Sub

ASPX 文件复选框声明

<asp:CheckBox ID="MyCheckBox" AutoPostBack="True" Text="" runat="server" />
4

1 回答 1

2

您是否在 ASPX 文件中设置了 AutoPostBack = true 。

于 2012-09-26T21:45:35.367 回答