Come prevenire asp: FormView dal rendering come una tabella?
Domanda
Ho un asp: FormView con un ItemTemplate. Mi piacerebbe progettare il contenuto all'interno del FormView con alcuni elementi div:
<asp:FormView ID="MyFormView" runat="server" >
<ItemTemplate>
<div class="block1">
Stuff...
</div>
<div class="block2">
Stuff...
</div>
...
<div class="blockN">
Stuff...
</div>
</ItemTemplate>
</asp:FormView>
Quando eseguo l'applicazione viene creato il seguente codice HTML:
<table id="MyFormView" style="border-collapse: collapse;" border="0" cellspacing="0">
<tbody>
<tr>
<td colspan="2">
<div class="block1">
Stuff...
</div>
<div class="block2">
Stuff...
</div>
...
<div class="blockN">
Stuff...
</div>
</td>
</tr>
</tbody>
</table>
In realtà il tavolo è un po 'inquietante. Non so che cosa è lo scopo di avere un ItemTemplate al freestyle il contenuto, ma poi avvolgerlo in una tabella.
E 'possibile disattivare o aggirare il problema? (Non sono riuscito a trovare una bandiera nelle proprietà FormView.)
Soluzione
uso ripetitore (è la versione leggera e completamente personalizzabile)
<asp:Repeater runat=server ID="r1">
<HeaderTemplate><div></HeaderTemplate>
<ItemTemplate>Zzz</ItemTemplate>
<FooterTemplate></div></FooterTemplate>
</asp:Repeater>
o
Altri suggerimenti
È possibile impostare RenderOuterTable="false"
sul FormView
Utilizzare il codice seguente.
RenderOuterTable="false"
Mettere sul FormView . Funziona in .NET 4.0.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow