嗨我有一个下拉列表,并且在选择四个选项中的一个以在后面的代码中设置Image2的imageurl时就像这样?
答案 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;
...
}