2010-05-20 7 views
16

Tengo un control ListView de ASP.NET (consulte a continuación).ASP.NET ListView - Renderizar etiquetas THEAD/TBODY

Desafortunadamente, cuando un control ListView es prestado es tan ausente de etiquetas HTML como THEAD/TBODY.

Esto me está causando un problema porque el estilo de CSS que estoy usando necesita esas etiquetas.

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

¿De qué forma puedo obtener esas etiquetas para renderizar?

Estoy buscando una solución limpia y estoy abierto a utilizar jQuery Prepend/Append (si es posible) para lograr el éxito.

Respuesta

18

Es causa de marcar mesa como elemento runat

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

Puede ser formularios de ASP.NET realización marco provoca un análisis del contenido de la tabla con la eliminación de las etiquetas "THEAD".

Intente realizar su diseño sin marcar la etiqueta de la tabla con runat = "server". Lo intenté y la etiqueta thead se procesó.

+0

* Suspiro * Esa fue una etiqueta runat = "server" involuntaria. No estoy seguro de cómo me perdí eso. Gracias. –

+0

sucedió lo mismo aquí. no es un error involuntario sin embargo. Microsoft establece el servidor runat de tabla como predeterminado en sus ejemplos de enlace de datos en el tutorial de asp.net. –

Cuestiones relacionadas