如何有选择地启用下拉列表

时间:2012-07-04 06:26:58

标签: c# asp.net

我有一个包含两个DropDowns列表的表单:

  1. 婚姻状况
  2. 否。儿童
  3. 现在,我想在婚姻状况下降选择以下项目时启用儿童数量下降:

    1. 寡妇
    2. 离婚
    3. 等待离婚
    4. 我该怎么做?

4 个答案:

答案 0 :(得分:2)

在MaritalStaus DropDownList选择的索引更改事件中,如果所选值与您的选项匹配,则启用NoOfChild DropDownList。

   protected void MaritalStaus_SelectedIndexChanged(object sender, EventArgs e)    
    {
          //Match the selected value here : for Example:
          if (MaritalStaus.SelectedValue.Equals("Divorced") || /*Other Comparisions */)
          {
             NoOfChild.Enabled = true;  
          }
    }

答案 1 :(得分:0)

DropDown 列表中包含 ListItem 集合。每个 ListItem 都有一个 Text 和一个 Value 。尝试将文本设置为“Divorced”,将值设置为“D”或更好,将其设置为类似于“1”的整数,类似于ID。如果要从数据库中检索它,您将从数据库表中获取这些文本/值。

默认设置 DropDown Enabled = false的孩子数,然后按照上面ebad86的代码段中的说明Enable = true

答案 2 :(得分:0)

答案 3 :(得分:0)

<强>的.aspx

<asp:DropDownList ID="ddlMaritalStatus" runat="server" AutoPostBack="true" 
        onselectedindexchanged="ddlMaritalStatus_SelectedIndexChanged">
    <asp:ListItem Text="" />
    <asp:ListItem Text="Widow" />
    <asp:ListItem Text="Divorced" />
    <asp:ListItem Text="Awaiting Divorce" />
</asp:DropDownList>
<asp:DropDownList ID="ddlNoOfChildren" runat="server" Enabled="false">
    <asp:ListItem Text="1" />
    <asp:ListItem Text="2" />
    <asp:ListItem Text="3" />
    <!-- and so on -->
</asp:DropDownList>

<强> aspx.cs

protected void ddlMaritalStatus_SelectedIndexChanged(object sender, EventArgs e)
{
    if (ddlMaritalStatus.SelectedItem.Text == "Widow") // if widow is selected
        ddlNoOfChildren.Enabled = true;
    else
        ddlNoOfChildren.Enabled = false;
}