好的,所以我正在使用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元素中)
的问候, 詹姆斯
答案 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。