C# 修改SelectList项目

C# 修改SelectList项目,c#,asp.net-mvc-5,selectlist,C#,Asp.net Mvc 5,Selectlist,我一直在与SelectList抗争,决定尝试一个简单的实验: SelectList list = new SelectList(db.People.OrderBy(x => x.Last), "ID", "Last", sItem); foreach (SelectListItem item in list) { item.Text = item.Text.ToUpper(); } return list; 当它结束时,检查列表显示项目未被修改。有什么好处?显然这里遗漏了什么 您可以

我一直在与SelectList抗争,决定尝试一个简单的实验:

SelectList list = new SelectList(db.People.OrderBy(x => x.Last), "ID", "Last", sItem);
foreach (SelectListItem item in list)
{
  item.Text = item.Text.ToUpper();
}
return list;

当它结束时,检查列表显示项目未被修改。有什么好处?显然这里遗漏了什么

您可以使用linq投影创建SelectList项目:

var toupper = db.People.OrderBy(x => x.Last)
                       .Select(x => new
                           {   
                              Id = x.Id,  
                              Last = x.Last.ToUpper(), //Whatever you want to upper case
                              Whatever = x.Whatever
                              // Add other items you want to show in select list
                           });

SelectList list = new SelectList(toupper, "Id", "Last", sItem);

return list;