我正在尝试从列表框中获取所选值,该列表框显示数据库表中的数据。我使用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中的数据:
列表框正确显示了文本字段,但每次尝试获取其值时我总是什么也得不到,我不知道这里的问题是什么。任何帮助将不胜感激。
答案 0 :(得分:2)
在page_load中使用Page.IsPostBack
if (!Page.IsPostBack)
{
//your code
}
回发清除您的选择。
我希望能帮助你。
答案 1 :(得分:0)
我做了一些假设。数据绑定似乎在页面加载中,每次加载页面时都会运行。你有吗
if (!Page.IsPostBack)
{
}
如果不是,每次页面回发时都会重新绑定下拉列表框,因此您将没有选定的值。