在剃刀foreach上获取索引值
我在我的视图中的razorforeach循环遍历List<T>
,呈现一个部分。 在部分我正在渲染一个单一的logging,我想在我的视图中连续4。 我有一个css类的两个结束列,所以需要在部分确定该调用是否是第1或第4条logging。 什么是在我的部分识别这个最好的方式输出正确的代码?
这是我的主页,其中包含循环:
@foreach (var myItem in Model.Members){ //if i = 1 <div class="grid_20"> <!-- Start Row --> //is there someway to get in for i = 1 to 4 and pass to partial? @Html.Partial("nameOfPartial", Model) //if i = 4 then output below and reset i to 1 <div class="clear"></div> <!-- End Row --> </div> }
我想我可以创build一个int,我可以更新每个过程,并呈现文本没有问题,但它是通过整数值到我偏我更关心。 除非有更好的方法。
这是我的部分:
@{ switch() case 1: <text> <div class="grid_4 alpha"> </text> break; case 4: <text> <div class="grid_4 omega"> </text> break; default: <text> <div class="grid_4"> </text> break; } <img src="Content/960-grid/spacer.gif" style="width:130px; height:160px; background-color:#fff; border:10px solid #d3d3d3;" /> <p><a href="member-card.html">@Model.Name</a><br/> @Model.Job<br/> @Model.Location</p> </div>
不知道今天是否有一个金发的日子,这是非常容易的,但我不能想到传递int值的最佳方法。希望有人可以帮助。
@{int i = 0;} @foreach(var myItem in Model.Members) { <span>@i</span> i++; }
//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/
看看这个使用Linq的解决scheme。 他的例子是类似的,他需要不同的标记每个第三项。
foreach( var myItem in Model.Members.Select(x,i) => new {Member = x, Index = i){ ... }
是否有一个原因,你不使用CSSselect器样式的第一个和最后一个元素,而不是试图附加一个自定义类到他们? 而不是基于阿尔法或欧米茄的造型,使用第一个孩子和最后一个孩子。
或者你可以简单地这样做:
@foreach(var myItem in Model.Members) { <span>@Model.Members.IndexOf(myItem)</span> }
IndexOf在这里似乎很有用。
@foreach (myItemClass ts in Model.ItemList.Where(x => x.Type == "something")) { int currentIndex = Model.ItemList.IndexOf(ts); @Html.HiddenFor(x=>Model.ItemList[currentIndex].Type)
…
很简单:
@{ int i = 0; foreach (var item in Model) { <tr> <td>@(i = i + 1)</td>` </tr> } }`
- 不显眼的validation不适用于dynamic添加的局部视图
- 如何在ASP.MVC中指定多行编辑器的列和行?
- 我们可以在ASP.NET Webforms(* .aspx页面)中使用Razor语法吗?
- 我如何在一个区域使用一个普通的_ViewStart?
- 使用entity framework(.edmx模型)&Razor视图&&将数据库logging插入多个表创buildMVC3的下拉列表
- 命名约定来区分部分视图和普通视图
- Razor ViewEngine:我如何转义“@”符号?
- 剃刀:@ Html.Partial()vs @RenderPage()
- 我应该在MVC Razor中find共享的@helper函数