2015-01-14 3 views
1

Я хочу показать конкретный div на основе выбора в раскрывающемся списке и скрыть другой список. и наоборот.Отображение определенного списка на основе выпадающего списка в ASP.NET

Это то, что у меня есть, но я не могу заставить его работать.

<asp:DropDownList ID="DropDownList1" runat="server" onselectedindexchanged="DropDownList1_SelectedIndexChanged1">    
    <asp:ListItem Text="Fruits" Value="2014"></asp:ListItem> 
    <asp:ListItem Text="Colors" Value="2013"></asp:ListItem> 
</asp:DropDownList> 

<div id="div2014" runat="server"> 
    <ul> 
     <li>Apples</li> 
     <li>Oranges</li> 
     <li>Bananas</li> 
    </ul> 
</div> 
<div id="div2013" runat="server"> 
    <ul> 
     <li>Red</li> 
     <li>White</li> 
     <li>Blue</li> 
    </ul> 
</div> 

Мой C# код

protected void DropDownList1_SelectedIndexChanged1(object sender, EventArgs e) 
{ 
    div2014.Visible = false; 
    div2013.Visible = false; 

    switch (DropDownList1.SelectedItem.Text) 
    { 
     case "2014": 
      div2014.Visible = true; 
      break; 
     case "2013": 
      div2013.Visible = true; 
      break; 
    } 
} 

ответ

1

Добавьте атрибут AutoPostBack к вашему DropDownList:

<asp:DropDownList ID="DropDownList1" runat="server" onselectedindexchanged="DropDownList1_SelectedIndexChanged1" AutoPostBack="True"> 

Изменить код за это:

protected void DropDownList1_SelectedIndexChanged1(object sender, EventArgs e) 
{ 
    div2014.Visible = false; 
    div2013.Visible = false; 

    switch (DropDownList1.SelectedValue) 
    { 
     case "2014": 
      div2014.Visible = true; 
      break; 
     case "2013": 
      div2013.Visible = true; 
      break; 
    } 
} 

И вы хотите в скрыть оба div до выбора значения:

<div id="div2014" runat="server" Visible="false">  
+0

Всё! Благодаря тонну. Решение «DropDownList1.SelectedItem.Text» на «DropDownList1.SelectedValue» было решением наряду с AutoPostBack. – Blitz09

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