【问题标题】:Listbox won't obtain selected value in ASP.net列表框不会在 ASP.net 中获取选定的值
【发布时间】:2014-07-30 15:19:08
【问题描述】:

我正在尝试从显示我的数据库表中的数据的列表框中获取选定的值。我使用 DataTable 并将其作为数据源,但该值似乎不会嵌入到列表中的每个项目中。

这是我的代码行:

页面加载:

DataTable med = new DataTable();

Connection.Open();

SqlDataAdapter viewMed = new SqlDataAdapter("select * from tblListofMedicine",          Connection.conn);
viewMed.Fill(med);

lbMedicines.DataSource = med;
lbMedicines.DataValueField = "MedicineName";
lbMedicines.DataTextField = "MedicineName";

lbMedicines.DataBind();

Connection.Close();

btnGetSelected:

string selectedMedicine = lbMedicines.SelectedValue.ToString();

UI 正确显示来自 DT 的数据:

列表框正确显示了文本字段,但每次尝试获取其值时我总是一无所获,而且我不知道这里似乎有什么问题。任何帮助将不胜感激。

【问题讨论】:

    标签: c# asp.net listbox


    【解决方案1】:

    在您的 page_load 中使用 Page.IsPostBack

    if (!Page.IsPostBack)
    {
        //your code
    }
    

    回发清除您的选择。

    希望对你有帮助。

    【讨论】:

    • 这回答了我的问题。谢谢!
    【解决方案2】:

    我做了一些假设。数据绑定似乎在页面加载中,每次加载页面时都会运行。你有吗

    if (!Page.IsPostBack)
    {
    }
    

    如果不是,您每次回发页面时都会重新绑定下拉列表框,因此您将没有选定的值。

    【讨论】:

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