如何防止 asp:FormView 呈现为表格?

发布于 2024-08-25 01:11:52 字数 1202 浏览 9 评论 0原文

我有一个带有 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 属性中找不到标志。)

I have an asp:FormView with an ItemTemplate. I'd like to design the content within the FormView with some div elements:

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

When I run the application the following HTML is created:

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

Actually the table is somewhat disturbing. I don't know what's the purpose to have an ItemTemplate to freestyle the content but then wrap it into a table.

Is it possible to disable or work around this behaviour? (I couldn't find a flag in the FormView properties.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

微暖i 2024-09-01 01:11:52

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

You can set RenderOuterTable="false" on the FormView

智商已欠费 2024-09-01 01:11:52

使用以下代码。

RenderOuterTable="false"

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

Use the following code.

RenderOuterTable="false"

Put it on the FormView. It works in .NET 4.0.

梦幻的味道 2024-09-01 01:11:52

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

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

更好地使用控制适配器:

use repeater (it is light version and fully customizable)

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

or

better use control adapters:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文