首页 > 解决方案 > OnCheckedChanged 事件返回复选框始终未选中

问题描述

我正在尝试在一个 VB 项目中工作,但由于是我第一次接触 VB,所以我遇到了一些困难。我有一个复选框和一个文本框。如果用户选中复选框,我希望启用文本框。

 <tr>
 <td></td>
 <td style="width:100px; ">Staff:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp                                                                          

  <asp:CheckBox ID="CheckBox3" runat="server" AutoPostBack="True" 
      OnCheckedChanged="CheckBox3_CheckedChanged" />
 </td>
 <td style="width:200px; ">

 <edititemtemplate>

 <telerik:RadTextBox ID="RadTextBox2" width="100%" Runat="server" 
     Enabled="false">

 </telerik:RadTextBox>

</edititemtemplate>
</td>  
   <td class="Validator_Cls"></td>                                                                  
   </tr>

这是背后的代码

Dim RadTextBox2 As New TextBox
Dim WithEvents CheckBox3 As New CheckBox

    Public Sub CheckBox3_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox3.CheckedChanged
    If CheckBox3.Checked = True Then
        RadTextBox2.Enabled = True
    End If

End Sub

问题是,即使我选中了复选框,if 子句也说该复选框没有被选中,也没有进入 if 语句。我还可以看到该函数的 sender 参数应为 True 。

知道我在哪里做错了吗?请帮忙,因为这比它应该花费的时间更长。

标签: asp.netwebforms

解决方案


你能告诉我这是否有效吗?我删除了 Handles Me.Load

Protected Sub CheckBox3_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)         
If CheckBox3.Checked = True Then
        RadTextBox2.Enabled = True
    Else
        RadTextBox2.Enabled = False
    End If
End Sub

推荐阅读