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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (22)

我有一个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(如果可能)来取得成功。

提问于
用户回答回答于

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

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

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

尝试实现布局,而不用runat =“server”标记表格标签。我尝试了它,并且呈现了标记。

扫码关注云+社区