2

在我的 ascx 中,我有一个列表框控件定义为:

<asp:ListBox id="Listbox1" rows="1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="btn_click" />

在我的 ascx.cs 中,我用以下内容填充列表框:

Listbox1.Items.Add(new ListItem("textVar", "valueVar"));

我正在尝试使用以下方法读取选定的值:

label1.Text = Listbox1.SelectedValue.ToString();

但这会导致 Label1.Text 中出现空字符串。有任何想法吗?我还是 .NET 和 C# 的新手,所以如果这是初级的,我深表歉意。似乎它应该是一件简单的事情任何帮助将不胜感激。

4

1 回答 1

5

有任何想法吗?

是的,我假设您ListBox在每次回发时都在进行数据绑定。只能这样做 if(!IsPostBack),否则SelectedIndexChanged不会触发。

protected void Page_Load(Object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        Listbox1.Items.Clear();
        Listbox1.Items.Add(new ListItem("textVar", "valueVar"));
    }
}
于 2013-07-10T16:11:19.743 回答