2013-02-05 3 views
0

У меня есть выпадающий список, определенный в качествеОбновление изображения на основе выпадающего списка выбора в asp.net

<asp:DropDownList ID="ddl1" runat="server" OnSelectedIndexChanged="ddl1_SelectedIndexChanged" style="width: 107px"> 
     <asp:ListItem Selected="True" Text="Select a value" Value="select">Select a value</asp:ListItem> 
     <asp:ListItem Value="p1">Image 1</asp:ListItem> 
     <asp:ListItem Value="p2">Image 2</asp:ListItem> 
     <asp:ListItem Value="p3">Image 3</asp:ListItem> 
</asp:DropDownList> 
<div id="img"> 
    <asp:Image ID="image1" runat="server" Width="100"/> 
</div> 

Об изменении выбора события определяется в коде-позади, как

protected void ddl1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    string i = ddl1.SelectedValue; 
    switch (i) 
    { 
     case "p1": 
      image1.ImageUrl = "img/p1.jpg"; 
      break; 
     case "p2": 
      image1.ImageUrl = "img/p2.jpg"; 
      break; 
     case "p3": 
      image1.ImageUrl = "img/p3.jpg"; 
      break; 
     default "select": 
      image1.ImageUrl = ""; 
      break; 
    } 
} 

Однако, похоже, это не отображает изображения.

+0

_Но это, похоже, не отображает изображения_ - Вы пытались установить точку останова и проверить, что происходит? – Blachshma

ответ

1

.SelectedValue используется только в тех случаях, когда список привязан к базе данных! Вот почему изображение не выбрано. . Loooking в MSDN доказательствам меня неправильно http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.selectedvalue.aspx

Изменить его к этому:

string i = ddl1.SelectedItem.Value; 

и он будет работать :).

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