14

使用 Visual Studio Express 2012 for Web and 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

4 回答 4

23

你可以试试:

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

或者:

selectList.Where(p => p.Value == "2").First().Text;
于 2013-07-25T16:14:29.087 回答
6

您可以将其转换为 aList可以让您访问索引器

selectList.Items.ToList()[1].Text
于 2013-07-25T15:41:50.670 回答
1

试试这个

selectList.Items.ElementAt(0);

需要using System.Linq命名空间

于 2013-07-25T15:56:44.140 回答
1

也许这就是你要找的?

selectList.Items.FindByValue("1").Text
于 2015-04-07T09:58:25.390 回答