从c#SelectList中获取文本项

时间:2013-07-25 15:39:03

标签: c# asp.net-mvc razor

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

List<SelectListItem> list = new List<SelectListItem>();
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'的表达式”

感谢。

4 个答案:

答案 0 :(得分:16)

您可以尝试:

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

或者:

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

答案 1 :(得分:5)

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

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

答案 2 :(得分:1)

试试这个

selectList.Items.ElementAt(0);

需要using System.Linq命名空间

答案 3 :(得分:1)

也许这就是你要找的东西?

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