0

.RowStart 方法的示例遇到问题。

比较两种语法: http: //www.jeremyskinner.co.uk/2009/03/01/mvccontrib-grid-part-5-the-action-syntax/

在这个

.RowStart(row => string.Format("<tr{0}>", row.IsAlternate ? "style=\"background-color:#CCDDCC\"" : ""))

row.IsAlternate引发错误,因为行不是 GridRow,它实际上是您的模型(以及行的数据项)。

第二种语法(ActionSyntax):

.RowStart((p,row)  => {     
             if (row.IsAlternate) { %>
                   <tr style="background-color:#CCDDCC">
             <%  }  else  { %>
                 <tr>
             <% }
    }).Render(); %>

似乎没有翻译成剃刀

.RowStart((x, row) => string.Format("<tr class='{0}'>", row.IsAlternate ? "grid-row" : "grid-row-alt"))

可以通过,但不会发出任何行更改。

有人有这个工作吗?

4

2 回答 2

3

我刚刚注意到 Html.Grid 为您添加的一些约定内容...

鉴于以下

Html.Grid(Model.Results).Attributes(@class => "grid")

生成一个带有 class = "grid" 的表,带有 class = "gridrow" 的偶数行,以及带有 class = "gridrow_alternate" 的奇数行

于 2011-05-04T15:47:29.963 回答
1

不确定这是否会有所帮助,但我最近一直在做的一件事是使用:

.RowAttributes(x => new Dictionary<string, object> { { "class", x.value == myValue ? "highlight" : "" } })

这让我可以对属性的 css 值做很多事情。然后为了支持“斑马条纹”,我使用纯 css(浏览器兼容性在这里可能是一个问题,但它很优雅,只是不会在旧浏览器上呈现)看起来像

tr:nth-child(odd) {
background-color: #eee;}

使您可以很好地控制桌子。有关选择器的更多信息Sitepoint 子选择器

否则,您可以尝试mvccontib的google 组Jeremy 通常会提供帮助。

希望这有帮助。

于 2011-04-27T11:58:55.313 回答