2012-03-07 2 views
1

У меня есть RadioButtonList следующим образом:Как установить DropDownList, если выбрана данная радиокарта?

<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> 

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

<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 не подходит, какой валидатор предлагается?

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

UPDATE: Добавлены следующие закодировать за

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

Является ли это правильно?

ответ

0

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

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

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

Смежные вопросы