我有一个 for 循环来生成 IEnumerable 列表:
public static IEnumerable<SelectListItem> loadData()
{
DataTable dt = load_from_database;
List<SelectListItem> list = new List<SelectListItem>();
foreach (DataRow dr in dt.Rows)
{
SelectListItem listItem = new SelectListItem();
listItem.Text = dr["name"].ToString();
listItem.Value = dr["id"].ToString();
list.Add(listItem);
}
return list;
}
我有以下模型:
public class Models
{
public string selectedUserApp { get; set; }
public IEnumerable<SelectListItem> userApps { get; set; }
}
和控制器:
public ActionResult Index()
{
var model = new UserApplicationModels();
userAppsList = loadData();
model.userApps = userAppsList;
model.selectedUserApp = model.userApps.First().Value;
return View(model);
}
然后是视图:
@model Models
@Html.DropDownListFor(x=>x.selectedUserApp , Model.userApps)
我得到的是所选项目的值,但我需要获取所选项目的文本。
我能做些什么?