如何从下拉列表中选择后更改图像

时间:2011-04-03 20:24:08

标签: c# asp.net html

嗨我有一个下拉列表,并且在选择四个选项中的一个以在后面的代码中设置Image2的imageurl时就像这样?

3 个答案:

答案 0 :(得分:3)

一个例子。在你的标记中:

< <asp:DropDownList ID="TestDropDownList" runat="server" 
    onselectedindexchanged="TestDropDownList_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Value="http://url.com/image1.png" Text="Option 1"></asp:ListItem>
<asp:ListItem Value="http://url.com/image2.png" Text="Option 2"></asp:ListItem>
<asp:ListItem Value="http://url.com/image3.png" Text="Option 3"></asp:ListItem>
<asp:ListItem Value="http://url.com/image4.png" Text="Option 4"></asp:ListItem>
</asp:DropDownList>
<asp:Image ID="TestImage" ImageUrl="" runat="server" />

在您的代码隐藏中:

protected void TestDropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
        Image i = this.TestImage;
        i.ImageUrl = ((DropDownList)sender).SelectedValue;

}

答案 1 :(得分:2)

您必须为下拉列表启用AutoPostBack属性。然后每次选择更改时,回发都会发送到服务器,因此您将执行代码隐藏。如果我记得corectly DropDownList控件有一个更改选择的事件。

答案 2 :(得分:1)

添加OnSelectedIndexChanged事件处理程序,并将AutoPostBack设置为true

<asp:DropDownList ID="Options" runat="server" AutoPostBack="true"
                OnSelectedIndexChanged="Options_SelectedIndexChanged">
    <asp:ListItem Value="Item1">Text 1</asp:ListItem>
    <asp:ListItem Value="Item2">Text 2</asp:ListItem>
</asp:DropDownList>

在后面的代码中,您实现了处理事件的方法:

protected void Options_SelectedIndexChanged(object sender, EventArgs e)
{
    string selectedValue = this.Options.SelectedValue;
    ...
}