2010-05-20 40 views
16

Tôi có một điều khiển ListView ASP.NET (xem bên dưới).ASP.NET ListView - Render THEAD/TBODY Thẻ

Thật không may, khi một điều khiển ListView là được hiển thị thì không có các thẻ HTML như THEAD/TBODY.

Điều này gây ra sự cố cho tôi vì kiểu CSS mà tôi đang sử dụng cần các thẻ đó.

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

Bất kỳ cách nào để tôi có thể hiển thị các thẻ đó?

Tôi đang tìm một giải pháp sạch và tôi đang mở để sử dụng jQuery Prepend/Append (nếu có thể) để đạt được thành công.

Trả lời

18

Đó là nguyên nhân bạn đánh dấu bảng như runat yếu tố

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

Có thể ASP.NET Forms khuôn khổ thực hiện gây ra một phân tích cú pháp của nội dung bảng với loại bỏ "thead" thẻ.

Cố gắng nhận ra bố cục của bạn mà không đánh dấu thẻ bảng bằng runat = "server". Tôi đã thử nó và thẻ thead được trả lại.

+0

* Sigh * Đó là một thẻ runat không mong muốn = "máy chủ". Tôi không chắc làm thế nào tôi bỏ lỡ điều đó. Cảm ơn. –

+0

tương tự đã xảy ra ở đây. không phải là một sai lầm ngoài ý muốn. microsoft bộ bảng máy chủ runat như mặc định trong ví dụ ràng buộc dữ liệu của họ trong hướng dẫn asp.net. –