【问题标题】:OnCheckedChanged only fire at second clickOnCheckedChanged 仅在第二次单击时触发
【发布时间】:2021-03-14 01:51:24
【问题描述】:

我有两个单选按钮,它们将确定文本框范围验证器的最小值。 所以单选按钮工作得很好(在每个 CheckedChanged 上重置最小值),除非文本框显示错误消息,如“输入最小值 xxx”,然后单选按钮必须单击两次(这是错误的)只有它会触发VB代码。有人可以帮我弄这个吗?谢谢!

单选按钮的代码:

<asp:RadioButton runat="server" ID="rbSameT" Text="SameT" GroupName="rbGroupT" Checked="true" AutoPostBack="true" OnCheckedChanged="rbSameT_CheckedChanged"/>
<asp:RadioButton runat="server" ID="rbDiffT" Text="DiffT" GroupName="rbGroupT" AutoPostBack="true" OnCheckedChanged="rbDiffT_CheckedChanged"/>
            

RadioButtons 背后的代码:

Protected Sub rbSameT_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs) Handles rbSameT.CheckedChanged
    If sender IsNot Nothing And e IsNot Nothing Then
        ResetValidators(False)
    End If
End Sub

Protected Sub rbDiffT_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs) Handles rbDiffT.CheckedChanged
    ResetValidators(True)
End Sub

【问题讨论】:

  • 您可以使用一个整数变量,每次单击单选按钮时都会增加一个整数变量来检查计数。单击两次后,可以重置变量值。
  • @Utkarsh 变量值假设在检查更改时重置。不是当它被点击两次时。我将编辑我的帖子以澄清这一点。

标签: vb.net oncheckedchanged


【解决方案1】:

尝试删除Checked="true" 并设置EnableViewState="True"

<asp:RadioButton runat="server" ID="rbSameT" Text="SameT" GroupName="rbGroupT" 
 AutoPostBack="true" OnCheckedChanged="rbSameT_CheckedChanged" EnableViewState="True"/>

<asp:RadioButton runat="server" ID="rbDiffT" Text="DiffT" GroupName="rbGroupT" 
 AutoPostBack="true" OnCheckedChanged="rbDiffT_CheckedChanged" EnableViewState="True"/>
        

【讨论】:

    猜你喜欢
    • 2018-07-22
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多