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

Dan*_*anD 2 .net c# asp.net listbox

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

<asp:ListBox id="Listbox1" rows="1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="btn_click" />
Run Code Online (Sandbox Code Playgroud)

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

Listbox1.Items.Add(new ListItem("textVar", "valueVar"));
Run Code Online (Sandbox Code Playgroud)

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

label1.Text = Listbox1.SelectedValue.ToString();
Run Code Online (Sandbox Code Playgroud)

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

Tim*_*ter 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"));
    }
}
Run Code Online (Sandbox Code Playgroud)