【问题标题】:ASP.NET ListView - Render THEAD/TBODY TagsASP.NET ListView - 渲染 THEAD/TBODY 标签
【发布时间】:2011-02-22 02:28:08
【问题描述】:

我有一个 ASP.NET ListView 控件(见下文)。

不幸的是,当 ListView 控件被渲染时,没有 HTML 标签,例如 THEAD/TBODY。

这给我带来了问题,因为我使用的 CSS 样式需要这些标签。

<asp:ListView ID="ListView" runat="server" DataKeyNames="Id">
        <LayoutTemplate>
            <div id="tableContainer" class="tableContainer">
                <table runat="server" class="scrollTable" >
                  <thead class="fixedHeader">
                    <tr>
                        <th>
                            <span>Column1</span>
                        </th>                           
                    </tr>
                   </thead>
                   <tbody class="scrollContent">
                    <tr id="itemPlaceholder" runat="server" />
                   </tbody>
                </table>
            </div>
        </LayoutTemplate>
        <ItemTemplate>
            <tr id="items" runat="server">
                <td class="first">
                    <%#Eval("Column1")%>
                </td>                    
            </tr>
        </ItemTemplate>
    </asp:ListView>

有什么方法可以让这些标签呈现?

我正在寻找一个干净的解决方案,我愿意使用 jQuery Prepend/Append(如果可能的话)来取得成功。

【问题讨论】:

    标签: .net asp.net jquery html css


    【解决方案1】:

    这是因为您将表格标记为 runat 元素

    <table runat="server" class="scrollTable" >
    

    可能是 ASP.NET Forms 框架实现导致解析表格内容并移除“thead”标签。

    尝试在不使用 runat="server" 标记 table 标记的情况下实现您的布局。我试过了,tad标签被渲染了。

    【讨论】:

    • Sigh 那是一个意外的 runat="server" 标签。我不知道我是怎么错过的。谢谢。
    • 这里也发生了同样的事情。不过,这不是一个意外的错误。 microsoft 在 asp.net 教程的数据绑定示例中将 table runat 服务器设置为默认值。
    猜你喜欢
    • 2010-11-11
    • 2011-03-20
    • 2010-10-08
    • 2018-01-15
    • 2011-04-30
    • 2019-04-06
    • 2010-11-23
    • 2015-01-22
    • 2010-11-30
    相关资源
    最近更新 更多