从c#SelectList中获取文本项

使用Visual Studio Express 2012 for Web和Razor,我创建了一个选择列表:

List list = new List(); list.Add(new SelectListItem { Text = "Yes", Value = "1" }); list.Add(new SelectListItem { Text = "No", Value = "2" }); SelectList selectList = new SelectList(list, "Value", "Text", null); 

后来,我想获得与selectList中的特定元素相关联的文本。 作为一个新手,我想我可以做到这一点:

 selectList.Items[1].Text 

但这会导致消息“无法将带有[]的索引应用于类型为’System.Collections.IEnumerable’的表达式”

谢谢。

你可以试试:

 selectList.Skip(1).First().Text; 

要么:

 selectList.Where(p => p.Value == "2").First().Text; 

您可以将其转换为List ,以便您访问索引器

 selectList.Items.ToList()[1].Text 

试试这个

 selectList.Items.ElementAt(0); 

需要using System.Linq命名空间

也许这就是你要找的?

 selectList.Items.FindByValue("1").Text