使用C#,如何从ListBox中选择项目时更新标签?

时间:2010-12-03 14:54:42

标签: c# asp.net listbox label

HY,

在我的ASP.NET应用程序中,我有一个包含多个项目和标签的列表框。

当我从列表框中选择一个项目时,如何更新标签文本?例如,如果我选择“First”项目,那么我的标签文字将是“First”?

谢谢 杰夫

4 个答案:

答案 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();
}