列表框不会在ASP.net中获取选定的值

时间:2014-07-30 15:19:09

标签: c# asp.net listbox

我正在尝试从列表框中获取所选值,该列表框显示数据库表中的数据。我使用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中的数据:

enter image description here

列表框正确显示了文本字段,但每次尝试获取其值时我总是什么也得不到,我不知道这里的问题是什么。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

在page_load中使用Page.IsPostBack

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

回发清除您的选择。

我希望能帮助你。

答案 1 :(得分:0)

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

if (!Page.IsPostBack)
{
}

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