在List<>的MVC编辑器模板中应用偶数/奇数样式模型

时间:2011-09-08 11:13:10

标签: asp.net-mvc-3 editortemplates mvc-editor-templates

我正在尝试将一些奇/偶样式应用于ASP.NET MVC 3中由Razor编辑器模板呈现的数据行。

以下是我可能视图的基本代码:

@model List<MyProject.Whatever>

@Html.EditorFor(Model)

这里是可能的编辑器模板

@model MyProject.Whatever

<div class="@( AnIInAnEvenOrOddRow ? "even" : "odd" )">
  @Model.SomeData @Html.TextBoxFor(m => m.SomeTextToType)
</div>

有人知道如何从编辑器模板中检测偶数/奇数情况吗?

干杯...

2 个答案:

答案 0 :(得分:1)

我总是解释数据行== @WebGrid已包含该功能,您也可以轻松implement paging and sorting为什么不使用它? < / p>

如果您仍想手动完成所有操作,可以使用

之类的内容
@{
    int iRow = 0;
}

@forach( var item in Model )
{
    iRow++;
    <div class="@( iRow % 2 == 0 ? "even" : "odd" )">
        @Model.SomeData @Html.TextBoxFor(m => m.SomeTextToType)
    </div>
}

<强>更新

WebGrid帮助器就像gridview中的堂兄webforms完全可以自定义一样,如果你之前webforms,你知道你可以简单地添加一个templatecolumn并附加任何东西 您喜欢控件,WebGrid助手是相同的,例如this fine article中所述:

@grid.GetHtml(        
    columns: grid.Columns(
        grid.Column(
             "Title", 
             "Movie", 
             @<text><div style='width: 10em'>@item.Title</div></text>), ...

答案 1 :(得分:0)

您可以使用jQuery添加行样式,如下面的SO问题所述:

What is the best way to style alternating rows in a table?

这会在答案中对jQuery脚本进行一些调整,但我认为它仍然有用。