Dot-Net

ASP.NET ListView - 渲染 THEAD/TBODY 標籤

  • May 20, 2010

我有一個 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” 標記 table 標記的情況下實現您的佈局。我試過了,tad 標籤被渲染了。

引用自:https://stackoverflow.com/questions/2877898