Если флажок установлен, как установить раскрывающийся список в качестве обязательного поля в C # - PullRequest
0 голосов
/ 08 августа 2011

В приложении ASP.NET MVC 3.5. У меня есть флажок «Food / Bev», который имеет логическое значение, и я хотел бы знать, как это сделать:

Если флажок установлен:

  • Раскрывающийся список Caterer становится обязательным для заполнения.
  • Запрос не может быть отправлен, если в списке не выбрана опция Caterer.

Если флажок не установлен:

  • Раскрывающийся список Caterer не является обязательным для заполнения.

Спасибо за вашу помощь!

Ответы [ 3 ]

2 голосов
/ 08 августа 2011

Просто выполните простое условие if

if this.checkbox.checked && this.mydropdown.selectedindex=-1
  //code / alert that warns the user you must make a selection

Возможно, вы можете использовать оператор ?::

bool b = ((myCheck.Checked && myDropDown.SelectedIndex==-1) ? true : false);

if(b) {
 //stop submit of form as no selection was made
}

Или сделать код коротким и простым:

 bool b = this.CheckBox1.Checked && this.DropDownList1.SelectedIndex == -1;
 //when the checkbox is not check Response.Write(b); prints false
//when the checkbox IS checked and no item is selected, Response.Write(b); prints true
1 голос
/ 08 августа 2011

Добавьте обязательный валидатор поля для DropDown и установите Enabled = "false" по умолчанию.Добавьте событие OnCheckChanged в CheckBox с AutoPostBack = "true", а в обработчике событий установите для включенного состояния валидатора проверенное состояние CheckBox.

1 голос
/ 08 августа 2011

Создайте RequiredFieldValidator для выпадающего списка, но установите его на Enabled=false. Затем, когда флажок установлен, вызовите функцию ValidatorEnable, чтобы включить валидатор.

Эта статья старая, но информация по-прежнему актуальна: http://msdn.microsoft.com/en-us/library/aa479045.aspx#aspplusvalid_clientside

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...