В ASP.NET MVC есть ли способ получить индекс цикла при использовании EditorTemplates? - PullRequest
2 голосов
/ 29 декабря 2011

В ASP.NET MVC, есть ли способ получить индекс цикла при использовании EditorTemplates?Раньше, когда мне нужно было узнать индекс элемента в модели, я отказался от использования EditorTemplates в пользу цикла for в базовом представлении.Мне интересно, есть ли способ получить индекс элемента при использовании EditorTemplates.

Пример цикла My for:

        @{int contentIndex = 0;}
        @foreach (var item in Model.Content)
        {
            <p id="content@(contentIndex)">
                @Html.TextArea("Content["+contentIndex+"]", item)
            </p>
            contentIndex++;
        }

Посмотрите, как я использую contentIndex дляидентификатор абзаца?Я хочу быть в состоянии сделать это с помощью EditorTemplate вместо цикла for.Это возможно?

Ответы [ 2 ]

2 голосов
/ 29 декабря 2011

Фил Хаак написал хороший пост в блоге:

http://haacked.com/archive/2011/04/14/a-better-razor-foreach-loop.aspx

0 голосов
/ 23 февраля 2015

Это сработало для меня, получил от Получение значения индекса для бритвы foreach

//this gets you both the item (myItem.value) and its index (myItem.i)
@foreach (var myItem in Model.Members.Select((value,i) => new {i, value}))
{
    <li>The index is @myItem.i and a value is @myItem.value.Name</li>
}

Подробнее об этом сообщении в блоге http://jimfrenette.com/2012/11/razor-foreach-loop-with-index/

...