我错过了什么? 我正在从代码隐藏中构建下拉列表:
ListItemCollection oL = new ListItemCollection();
foreach (var item in edata)
{
ListItem oListItem = new ListItem();
oListItem.Text = item.StatusName; //"StatusName"
oListItem.Value = item.Id.ToString(); // "StatusId"
if(item.Id == statusid)
{
oListItem.Selected = true;
}
oL.Add(oListItem);
}
但是当我尝试选择这样的SelectedItem.Value时,它应该返回StatusId,但它返回StatusName。我错过了什么?
EventStatusDropDownList1.SelectedItem.Value
答案 0 :(得分:0)
edata
代表什么?如果是DataTable
或通用List
,您可以使用DataSource
和DataBind
成员。请参阅以下代码:
var edata = SomeMethodReturnngDataTable();
EventStatusDropDownList1.DataSource = edata;
EventStatusDropDownList1.DataTextField = "StatusName";
EventStatusDropDownList1.DataValueField = "StatusId";
EventStatusDropDownList1.DataBind();
现在您可以使用EventStatusDropDownList1.SelectedItem.Value
来获取ID。