2010-05-07 11 views
17

¿Cuáles son las diferencias entre el control ASP.Net <asp:Table> en comparación con la implementación de la antigua tabla confiable HTML?<asp:Table> Vs html <table>

Sé que el <asp:Table> terminará en la página devuelta como una tabla HTML, pero ¿el control ASP.Net viene con los beneficios que me faltan?

+1

Nunca he usado ASP: Table, y he sido desarrollador de .Net desde la versión 1.0. Nunca he encontrado un uso para eso. – David

Respuesta

11

Un "regular" <table> no está disponible para la modificación en total en el lado del servidor. En lo que respecta al servidor, solo se trata de texto estático que se envía al navegador.

Yo diría que como regla general, favor de <table> a menos que explícitamente necesite modificar la estructura de la tabla en el servidor. Usar <asp:Table> significa que tiene la sobrecarga de ejecutar el código subyacente para la tabla, generando el control del lado del servidor y demás. Si no está utilizando ninguna de esas funciones, entonces no tiene sentido.

Además, en general, <asp:DataTable> suele ser más útil que simplemente <asp:Table>, ya que admite el enlace de datos, etc.

lo general, si sólo quiero mostrar/ocultar una sola fila de una tabla (o algo así), entonces me voy a poner en el runat="server"sola<tr> que yo quiero controlar, en lugar de utilizar toda una <asp:Table>.

+2

La mención de runat = "server" en la última oración hace que este comentario no sea útil. Debería haber sido incluido en la primera oración, pero básicamente estarías diciendo '

' no está disponible en el lado del servidor por '', oh y así es '
". En tal caso, la discusión se convierte en si se usa System.Web.UI.WebControls.Table vs. System.Web.UI.HtmlControls.HtmlTable, que creo que es una discusión más útil. – devlord

3

Tenga en cuenta que hay casos en que ASP HtmlTables no puede generar HTML que cumpla con los estándares. Por ejemplo, ellos do not support complete table semantics (thead/tfoot/tbody, cols, caption ...); Lanzarán una excepción si intentas incluir esos elementos programáticamente.

Estas son limitaciones serias para el contenido accesible.