HY,
在我的ASP.NET应用程序中,我有一个包含多个项目和标签的列表框。
当我从列表框中选择一个项目时,如何更新标签文本?例如,如果我选择“First”项目,那么我的标签文字将是“First”?
谢谢 杰夫
答案 0 :(得分:3)
您最好的选择是使用javascript,除非您有理由回发到服务器。
我个人喜欢jQuery。它看起来像这样:
$('#ListID').change(function() {
$('#LabelID').text(this.val());
});
答案 1 :(得分:0)
试试这个:
将OnSelectedIndexChanged =“ListBox1_SelectedIndexChanged”添加到aspx页面上的列表框中,并在后面的代码中添加如下内容:
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
lblYourLabel.Text = ListBox1.SelectedItem.ToString();
}
这应该将标签的文本设置为列表框中所选项目的文本。
希望这会有所帮助。
答案 2 :(得分:0)
您应该在该列表框上启用AutoPostBack(在控件右上角的设计视图箭头中)并在Page_Load中写入:
Label.Text = ListBox1.SelectedItem.Text;
但这会导致listBox上的每个更改都重新加载一个页面。您应该为此目的使用JavaScript ...
答案 3 :(得分:0)
使用ListBox的SelectedIndexChanged事件将标签文本设置为所选项目值。
类似的东西:
<asp:ListBox ID="listBox" runat="server" AutoPostBack="True"
OnSelectedIndexChanged="listBox_SelectedIndexChanged" />
<asp:Label ID="YourLabel" runat="server" />
并在代码隐藏中:
protected void listBox_SelectedIndexChanged(object sender, eventargs e) {
YourLabel.Text = listBox.SelectedItem.ToString();
}