2

在 ASP.NET MVC 中,有没有办法在使用 EditorTemplates 时获取循环索引?过去,当我需要知道模型中元素的索引时,我会放弃使用 EditorTemplates,而是在基本视图中使用 for 循环。我想知道是否有办法在仍然使用 EditorTemplates 的同时获取元素的索引。

我的 for 循环示例:

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

看看我是如何使用contentIndex段落 id 的?我希望能够使用 EditorTemplate 而不是 for 循环来做到这一点。这可能吗?

4

2 回答 2

2

Phil Haack 写了一篇不错的博文:

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

于 2011-12-29T15:30:00.717 回答
0

这对我有用,从Getting index value on razor 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/

于 2015-02-23T13:44:56.193 回答