1

我错过了什么?我正在从代码隐藏中构建下拉列表,如下所示:

 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
4

1 回答 1

0

这里代表什么edata?如果是 aDataTable或 generic List,则可以使用DataSourceandDataBind成员。请看下面的代码:

var edata = SomeMethodReturnngDataTable();
EventStatusDropDownList1.DataSource = edata;
EventStatusDropDownList1.DataTextField = "StatusName";
EventStatusDropDownList1.DataValueField = "StatusId";
EventStatusDropDownList1.DataBind();

现在您可以使用它EventStatusDropDownList1.SelectedItem.Value来获取 ID。

于 2013-03-01T19:43:34.260 回答