在c#asp.net中获取列表框的选定值

时间:2013-07-10 16:05:58

标签: c# asp.net .net listbox

在我的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#的新手,所以如果这是初步的,我会道歉。看起来它应该是一件简单的事情。任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:4)

  

有什么想法吗?

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

protected void Page_Load(Object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        Listbox1.Items.Clear();
        Listbox1.Items.Add(new ListItem("textVar", "valueVar"));
    }
}
相关问题