MVCCONTRIB GRID OVERRIDE ROWSTART UND ROWEND - Der Zeilenstart und das Ende werden über dem gesamten Raster gerendert

StackOverflow https://stackoverflow.com/questions/4805423

Frage

Ok, ich benutze das MVCCONTRIB -Netz, um den Beginn einer Reihe und das Ende einer Reihe zu überschreiben. Es funktioniert nicht wie angekündigt. Ich bin mir einigermaßen sicher, dass ich etwas Dummes mache.

Dies ist ein Auszug aus meiner MVC2.0 -Ansicht.

<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>

Dies ist das resultierende HTML ... Es ist sehr seltsam:

<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>

Das Zeug, das ich in die Reihe von Beginn und Endzeile investiert habe, wird vollständig über dem Netz gerendert. Was zum was? Ich habe mir ein paar Stunden lang den Kopf über diesen Kopf geschlagen. Kann jemand sehen, was ich falsch gemacht habe?

(PS Ich kann die Attribute nicht einfach verwenden, da ich die Zeile in ein anderes HTML -Element einwickeln muss)

Grüße, James

War es hilfreich?

Lösung

Ich habe versucht zu tun, was du getan hast, und das generierte HTML war:

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

Allerdings der zusätzliche Text alles Rendern An der Spitze des Netzes, vermutlich, weil es in keinem Kinderelement enthalten ist.

Um zu testen, was passiert, können Sie es versuchen:

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

Ich bin mir jedoch nicht sicher, ob Sie das in einem anderen HTML -Element tatsächlich einwickeln können, zumindest wenn Sie gültige HTML möchten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top