#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"/>