22

我有一个带有 ItemTemplate 的 asp:FormView。我想用一些 div 元素设计 FormView 中的内容:

<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 属性中找不到标志。)

4

3 回答 3

64

您可以RenderOuterTable="false"在 FormView 上设置

于 2010-08-25T17:51:59.283 回答
11

使用以下代码。

RenderOuterTable="false"

把它放在FormView上。它适用于 .NET 4.0。

于 2012-12-11T14:43:05.377 回答
3

使用中继器(它是轻型版本并且完全可定制)

  <asp:Repeater runat=server ID="r1">
<HeaderTemplate><div></HeaderTemplate>
<ItemTemplate>Zzz</ItemTemplate>
<FooterTemplate></div></FooterTemplate>
</asp:Repeater>  

或者

更好地使用控制适配器

于 2010-03-09T20:03:30.363 回答