MVCContrib网格覆盖RowStart和RowEnd - 行的开始和结束在整个网格上方呈现

时间:2011-01-26 14:08:26

标签: vb.net asp.net-mvc-2 mvccontrib mvccontrib-grid

好的,所以我正在使用MVCContrib网格尝试覆盖行的开头和行的结尾。这不像宣传的那样有效。我有理由相信这是我做些傻事。

这是我的MVC2.0视图的摘录。

<div id="chargestable">
<br />
<%  With Html.Grid(Model.InvoiceListingInformation)
        .Columns(Function(column)
                     column.For(Function(setColumns) setColumns.InvoiceNumber)
                     column.For(Function(setColumns) setColumns.InvoiceDate)
                     column.For(Function(setColumns) setColumns.ExclGST)
                     column.For(Function(setColumns) setColumns.InclGST)
                 End Function)
        .RowStart(Function(pRowStart) "Some extra text here <tr>")
        .RowEnd(Function(pRowEnd) "</tr>")
        .Render()

    End With
   %>
</div>

这是由此产生的HTML ......这很奇怪:

<div id="chargestable">
    <br>
    Some extra text here text/Some extra text here Some extra text here text/Some extra text here Some extra text here text/Some extra text here Some extra text here text/Some extra text here Some extra text here text/Some extra text here Some extra text here text/Some extra text here 
<table class="grid">
<thead>
<tr><th>Invoice Number</th><th>Invoice Date</th><th>Excl G S T</th><th>Incl G S T</th></tr>
</thead>
<tbody>
<tr><td>x</td><td>13/12/2009 12:00:00 AM</td><td>amnt</td><td>amnt</td></tr>
<tr><td>y</td><td>15/11/2009 12:00:00 AM</td><td>amnt</td><td>amnt</td></tr>
<tr><td>z</td><td>13/10/2009 12:00:00 AM</td><td>amnt</td><td>amnt</td></tr>
<tr><td>a</td><td>13/09/2009 12:00:00 AM</td><td>amnt</td><td>amnt</td></tr>
<tr><td>b</td><td>13/08/2009 12:00:00 AM</td><td>amnt</td><td>amnt</td></tr>
<tr><td>c</td><td>12/07/2009 12:00:00 AM</td><td>amnt</td><td>amnt</td></tr>
<tr><td>d</td><td>13/06/2009 12:00:00 AM</td><td>amnt</td><td>amnt</td></tr>
<tr><td>e</td><td>13/05/2009 12:00:00 AM</td><td>amnt</td><td>amnt</td></tr>
</tbody>
</table>
</div>

我在开始行和结束行函数中放置的东西完全呈现在网格上方。什么是什么? 我一直在为这一个人砸了几个小时,谁能看到我做错了什么?

(PS我不能只使用属性,因为我需要将行包装在另一个html元素中)

的问候, 詹姆斯

1 个答案:

答案 0 :(得分:1)

我尝试做你做的,生成的HTML是:

...
<tbody>
Some extra text here <tr>...</tr>
Some extra text here <tr>...</tr>
...

然而,所有渲染的额外文本位于网格顶部,大概是因为它不包含在任何子元素中。

要测试正在发生的事情,您可以尝试:

 .RowStart(Function(pRowStart) "<tr>extra row here</tr><tr>")

但是我不确定你是否真的可以在另一个html元素中包装,至少如果你想要有效的html。