ASP.. NET下拉返回SelectedText的值而不是SelectedValue
本文关键字:SelectedValue SelectedText NET 返回 ASP | 更新日期: 2023-09-27 18:01:59
我错过了什么?我正在构建下拉菜单,像这样,从代码后面:
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。值,它应该返回StatusId但它返回的是StatusName。我错过了什么?
EventStatusDropDownList1.SelectedItem.Value
这里的edata
代表什么?如果是DataTable
或通用List
,则可以使用DataSource
和DataBind
成员。请看下面的代码:
var edata = SomeMethodReturnngDataTable();
EventStatusDropDownList1.DataSource = edata;
EventStatusDropDownList1.DataTextField = "StatusName";
EventStatusDropDownList1.DataValueField = "StatusId";
EventStatusDropDownList1.DataBind();
现在你可以使用EventStatusDropDownList1.SelectedItem.Value
来获取ID。