Как убедиться, что DropDownList требуется, если выбран данный переключатель? - PullRequest
1 голос
/ 08 марта 2012

У меня есть RadioButtonLIst следующим образом:

<asp:RadioButtonList runat="server" ID="Location" ValidationGroup="formVal">
    <asp:ListItem Value="Beverly Hills" />
    <asp:ListItem Value="Seattle" />
</asp:RadioButtonList>
<asp:RequiredFieldValidator runat="server" ID="rfvLocation" 
ControlToValidate="Location">
</asp:RequiredFieldValidator>

Если выбрана первая радиокнопка, мне нужно сделать выбор в следующем выпадающем списке:

<asp:DropDownList runat="server" ID="Food" ValidationGroup="formVal">
     <asp:ListItem Text="Chicken" Value="Chicken"></asp:ListItem>
     <asp:ListItem Text="Beef" Value="Beef"></asp:ListItem>
     <asp:ListItem Text="Fish" Value="Fish"></asp:ListItem>
</asp:DropDownList>

Буду ли я использовать CustomValidator для этого? Если да, какое проверочное выражение следует использовать? Если CustomValidator не подходит, какой валидатор предлагается?

Большое спасибо:)

ОБНОВЛЕНИЕ: добавлено следующее к коду за

protected void LocationChanged(object sender, EventArgs e)
{
    if (Location.SelectedIndexChanged == true)
    {
        rfvFood.Enabled = true;
    }
    else rfvFood.Enabled = false;
}

Это правильно?

1 Ответ

0 голосов
/ 08 марта 2012

Вы можете сделать следующее:

  1. добавить RequiredFieldValidator для DropDownList и установить для его включенного свойства значение false
  2. установить AutoPostBack = true в RadioButtonList
  3. в коде, обработайте событие OnSelectedIndexChanged в RaditButtonList
  4. Здесь добавьте логику, которая включает или отключает RequiredFieldValidator в зависимости от выбранного элемента RadioButtonList

Если вам не нравится обновление всей страницы при выборе пользователем параметра, оберните эти элементы управления внутри UpdatePanel.

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