我是在我的页面加载事件中将IQueryable供应商集合绑定到列表框,如下所示...
SupplierRepository sr = SupplierRepository.GetInstance();
lbSuppliers.DataSource = sr.FindAll();
lbSuppliers.DataTextField = "SupplierName";
lbSuppliers.DataValueField = "SupplierID";
lbSuppliers.DataBind();
但出于某种原因,当我尝试从列表框中获取selectedvalue时,它返回null,即使我可以在运行时看到html源视图中的值。
lbSuppliers.SelectedValue.ToString();
似乎是一个非常基本的问题,但我被卡住了。这是因为我使用EF集合作为数据源吗?
答案 0 :(得分:3)
你是否每个PageLoad
都有约束力?如果是,那么SelectedItem
将会消失。
尝试在If (!IsPostBack)
块中包装DataBinding代码。