在我看來,我試圖設置一個索引,以便我可以將表中的每一行標記爲偶數或奇數。我做了很多搜索並找到了解決方案,但是我發現的解決方案是當模型是IEnumerable但我的PagedList.IPagedList。MVC5 View:在模型中循環時設置並獲取索引
Link to the other solution I found
@foreach (var item in Model.Select((x, i) => new { Data = x, Index = i }))
{
<tr @if ((item.index) % 2 == 0){ <text> class=」even」 </text> } else {<text> class=」odd」 </text>}>
<td>@Html.DisplayFor(modelItem => item.thing)</td>
<td>@Html.DisplayFor(modelItem => item.thing2)</td>
<td>@Html.DisplayFor(modelItem => item.thing3)</td>
</tr>
}
我得到的edditor此錯誤:
如果不首先它強制轉換爲委託或表達式樹類型使用lambda表達式作爲參數傳遞給動態調度操作。
和這個錯誤,如果我運行它:
「AnonymousType#1」不包含「索引」和沒有擴展方法「索引」接受類型爲「AnonymousType#1」的第一個參數的定義可能是發現(您是否缺少使用指令或裝配參考?)
任何想法?或者我可以不使用PagedList.IPagedList模型做到這一點?
編輯: 修復了一件事將每個索引中的「索引」重命名爲「索引」仍然在編輯器錯誤中得到相同結果。而運行錯誤是說,所有的這些:
@ Html.DisplayFor(modelItem => item.thing)
必要過於改變
@ Html.DisplayFor(modelItem => item.data .thing)
後,此時它運行,但我沒有得到類=「甚至或類‘中的標籤奇’。
是否有可能這樣做的一個更簡單的方式整體?
以及您的匿名類型屬性'Index'和你正在尋找'index'。我將開始修復 – Jonesopolis 2014-11-04 14:47:24
您正在爲匿名類型設置一個名爲'Index'的屬性,並嘗試使用'index'來訪問它。 – 2014-11-04 14:48:24
修正了索引索引的問題。現在它看起來像我必須更改@ Html.DisplayFor(modelItem => item.thing)此@ Html.DisplayFor(modelItem => item.data.thing)有沒有一種更簡單的方法來獲取索引這個情況? – JasonBluefire 2014-11-04 14:54:22