我有一个带有ItemTemplate的asp:FormView。我想在FormView中设计一些包含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>
当我运行应用程序时,会创建以下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>
实际上桌子有点令人不安。我不知道让ItemTemplate自由设置内容然后将其包装到表格中的目的是什么。
是否可以禁用或解决此问题? (我在FormView属性中找不到标志。)
答案 0 :(得分:57)
您可以在FormView上设置RenderOuterTable="false"
答案 1 :(得分:10)
使用以下代码。
RenderOuterTable="false"
将它放在 FormView 上。它适用于.NET 4.0。
答案 2 :(得分:3)
使用转发器(它是轻型版本,可完全自定义)
<asp:Repeater runat=server ID="r1">
<HeaderTemplate><div></HeaderTemplate>
<ItemTemplate>Zzz</ItemTemplate>
<FooterTemplate></div></FooterTemplate>
</asp:Repeater>
或
更好地使用控制adapters: