onCheckedChanged срабатывает только при втором щелчке

#vb.net #oncheckedchanged

#vb.net #oncheckedchanged

Вопрос:

У меня есть два переключателя, которые будут определять минимальное значение средства проверки диапазона текстового поля. Таким образом, переключатели работают хорошо (сброс минимального значения при каждом 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"/>
            
 

Код, лежащий в основе радиокнопок:

 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
 

Комментарии:

1. Вы можете использовать целочисленную переменную, которая увеличивается при каждом нажатии переключателя, чтобы проверить количество. После двойного нажатия значение переменной может быть сброшено.

2. @Utkarsh предполагается, что значение переменной сбрасывается при изменении. Не тогда, когда он щелкнул дважды. Я отредактирую свой пост, чтобы уточнить это.

Ответ №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"/>