Asp.net mvc 在MVC中访问IEnumerable对象中的特定索引

Asp.net mvc 在MVC中访问IEnumerable对象中的特定索引,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我需要从IEnumerable@model访问特定项 我知道我可以通过以下代码访问所有项目: @foreach (var item in Model) { <tr> <td> @Html.DisplayFor(modelItem => item.FoodName) </td> } @foreach(模型中的变量项){ @DisplayFor(modelItem=>item.FoodName) }

我需要从IEnumerable@model访问特定项

我知道我可以通过以下代码访问所有项目:

@foreach (var item in Model) {
    <tr>
        <td>
        @Html.DisplayFor(modelItem => item.FoodName)
        </td>
}
@foreach(模型中的变量项){
@DisplayFor(modelItem=>item.FoodName)
}
但是我需要通过这样做来访问第三项(作为示例): 模型[3]。食品名称

是否有任何方法可以从MVC中的IEnumerable对象访问特定的索引项?

您可以使用扩展方法:

Model.ElementAt(2)
或者将模型类型从
IEnumerable
更改为
IList
T[]

@model IList<SomeViewModel>
@model-IList
现在,您可以使用索引进行循环:

@for (var i = 0; i < Model.Count; i++) 
{
    @Html.DisplayFor(x => x[i].FoodName)    
}
(变量i=0;ix[i].FoodName) } 如果您生成输入字段(EditorFor、TextBoxFor等),这是首选方法,因为这样会为它们指定正确的名称。

请参阅