Commish13 Ответов: 1

У меня есть несколько validationsummary для проверки моих переключателей. Как я могу использовать только 1 кнопку для вызова моей проверки?


У меня есть несколько ValidationSummary для проверки моих переключателей. Как я могу использовать только 1 кнопку для вызова моей проверки?

Я не могу использовать RadioButtonList на своем сайте. Но мне нужно проверить мои переключатели. Я также не могу иметь 1 из моих переключателей, проверенных по умолчанию.

Итак, моя дилемма состоит в том, чтобы выяснить, как проверить мои группы переключателей только с помощью 1 кнопки. Я использую ASP.NET и с#

Заранее спасибо

Что я уже пробовал:

&ЛТ;как ASP:ValidationSummary идентификатор="ValidationSummary1" ValidationGroup="пример sample 1" то displaymode="список" атрибут runat="сервер" цвет="красный" шрифт-жирный="ложно" /&ГТ;
&ЛТ;АСП:переключатели идентификатор="RadioBtn1" атрибут runat="сервер" ValidationGroup="пример sample 1" Имя_группы="rpt1" текст="один" /&ГТ;
&ЛТ;АСП:переключатели идентификатор="RadioBtn2" атрибут runat="сервер" ValidationGroup="пример sample 1" Имя_группы="rpt1" текст="два" /&ГТ;

&ЛТ;как ASP:ValidationSummary идентификатор="ValidationSummary2" ValidationGroup="sample2" то displaymode="список" атрибут runat="сервер" цвет="красный" шрифт-жирный="ложно" /&ГТ;
&ЛТ;АСП:переключатели идентификатор="RadioBtn3" атрибут runat="сервер" ValidationGroup="sample2" Имя_группы="rpt2" текст="Три" /&ГТ;
&ЛТ;АСП:переключатели идентификатор="RadioBtn4" атрибут runat="сервер" ValidationGroup="sample2" Имя_группы="rpt2" текст="четыре" /&ГТ;



&ЛТ;АСП:CustomValidator идентификатор="CustomValidator1" атрибут runat="сервер" ValidationGroup="пример sample 1"
ErrorMessage="Пожалуйста, выберите один из переключателей"
OnServerValidate="ValidateSample" />

&ЛТ;АСП:CustomValidator идентификатор="CustomValidator2" атрибут runat="сервер" ValidationGroup="sample2"
ErrorMessage="Пожалуйста, выберите один из переключателей"
OnServerValidate="ValidateSample" />

&ЛТ;АСП:кнопка ID="кнопка 1" атрибут runat="сервер" ValidationGroup="пример sample 1" Текст="отправить" /&ГТ;
&ЛТ;АСП:кнопка ID="элемент button2" атрибут runat="сервер" ValidationGroup="sample2" текст="отправить" /&ГТ;



охраняемых недействительными ValidateSample(источник, объект, ServerValidateEventArgs аргументы)
{
если ((RadioBtn1.Проверено) || (RadioBtn2.Проверено) || (RadioBtn3.Проверено) || (RadioBtn4.Проверен))
{
параметр args.IsValid = true;
}
еще
{
параметр args.IsValid = false;
}
}

BillWoodruff

Неясно: радиокнопки (сгруппированные) разрешают только один выбранный/проверенный элемент: зачем вам нужна проверка ?

1 Ответов

Рейтинг:
8

Richard Deeming

Группы проверки предназначены для предоставления различных наборов проверки для различных кнопок. Если вы хотите, чтобы все валидаторы срабатывали при нажатии одной кнопки, то либо не устанавливайте группы проверки, либо установите для них все одинаковые значения.

Сводка проверки используется для отображения сводки всех ошибок проверки в форме. Он не предназначен для отображения ошибок проверки для одного элемента управления. Для этого используйте элемент управления validator.

<asp:CustomValidator runat="server" ForeColor="Red" Font-Bold="false" Display="Dynamic" Text="Please select one of the radio buttons" OnServerValidate="ValidateSample1" />
<asp:RadioButton ID="RadioBtn1" runat="server" ValidationGroup="sample1" GroupName="rpt1" Text="One" />
<asp:RadioButton ID="RadioBtn2" runat="server" ValidationGroup="sample1" GroupName="rpt1" Text="Two" />

<asp:CustomValidator runat="server" ForeColor="Red" Font-Bold="false" Display="Dynamic" Text="Please select one of the radio buttons" OnServerValidate="ValidateSample2" />
<asp:RadioButton ID="RadioBtn3" runat="server" ValidationGroup="sample2" GroupName="rpt2" Text="Three" />
<asp:RadioButton ID="RadioBtn4" runat="server" ValidationGroup="sample2" GroupName="rpt2" Text="Four" />
protected void ValidateSample1(object sender, ServerValidateEventArgs e)
{
    args.IsValid = RadioBtn1.Checked || RadioBtn2.Checked;
}

protected void ValidateSample2(object sender, ServerValidateEventArgs e)
{
    args.IsValid = RadioBtn3.Checked || RadioBtn4.Checked;
}

Теперь сделайте себе одолжение и дайте своим элементам управления значимые идентификаторы, а не принимайте значения по умолчанию, предоставляемые Visual Studio. Может быть ты помнишь что RadioBtn42 означает сейчас но когда вы вернетесь к своему коду через шесть месяцев, вы будете проклинать человека, который его написал!