ASP.NET ListView - 渲染THEAD / TBODY标签

时间:2010-05-20 21:13:55

标签: .net asp.net jquery html css

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

不幸的是,当ListView控件呈现时,没有像THEAD / TBODY这样的HTML标记。

这对我来说是一个问题,因为我正在使用的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(如果可能的话)来取得成功。

1 个答案:

答案 0 :(得分:18)

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

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

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

尝试使用runat =“server”标记表标记,以实现布局。我试了一下,然后渲染了thead标签。