如果选择给定的单选按钮,如何确保需要DropDownList?

时间:2012-03-07 23:06:03

标签: asp.net validation

我有一个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 :(得分:0)

您可以执行以下操作:

  1. 为DropDownList添加RequiredFieldValidator并将其enabled属性设置为false
  2. 在RadioButtonList
  3. 上设置AutoPostBack = true
  4. 在代码后面,处理RaditButtonList的OnSelectedIndexChanged事件
  5. 此处,添加启用或禁用RequiredFieldValidator的逻辑,具体取决于RadioButtonList的选定项目
  6. 如果您不喜欢在用户选择选项时刷新整个页面,请将这些控件包装在UpdatePanel中。