【问题标题】:Getting the selected value of a listbox in c# asp.net在c#asp.net中获取列表框的选定值
【发布时间】:2013-07-10 16:05:58
【问题描述】:

在我的 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# 的新手,所以如果这是初级的,我深表歉意。似乎它应该是一件简单的事情任何帮助将不胜感激。

【问题讨论】:

  • 您的标签文本是否设置为 btn_click 事件处理程序中的选定值?
  • 您是否将列表框的数量包装在 if(!Page.IsPostBack) 中?
  • 对不起,我终于想通了。编码是正确的,我的 Page_Load 函数有问题。很抱歉误报。
  • 我已经解决了问题,请回答您自己的问题并将其标记为答案。这将有助于未来的读者看到问题已经解决。

标签: c# asp.net .net listbox


【解决方案1】:

有什么想法吗?

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多