2011-02-04 18 views
5

Chicos ¿Cuál es la diferencia entre ambos?¿Diferencia entre <asp:table> y <table>?

si configuro <table runat=server> también puedo usarlo en el lado del servidor.

¿Hay alguna diferencia entre ambos?

Gracias

+0

Esta pregunta puede ayudarlo a comprender más sobre esto. http://stackoverflow.com/questions/57958/when-to-use-htmlcontrols-vs-webcontrols – tenfour

+0

Solo uso la versión de la tabla HTML, ya que da una buena rejilla de 3x3 para trabajar en la pantalla del diseñador de VSS. La versión asp, tengo que usar propiedades para darle columnas, filas, etc. y * luego * diseño a su alrededor. – Fandango68

Respuesta

7

<asp:Table> es un objeto .Net que tiene propiedades y capacidades específicas que se pueden utilizar a través de scripts de .Net o código detrás de la lógica. <table> es un elemento Html al que se puede acceder a través de scripts y código detrás de la lógica, pero no tiene capacidades nativas de .Net y solo se puede generar como está.

+0

¿Qué quiere decir con "sin capacidades nativas de .NET"? ¿Cómo es 'WebControls.Table' más nativo que' HtmlControls.HtmlTable'? – tenfour

+2

@tenfour: Demasiado para poner un comentario, así que dejaré un enlace que rompe el hielo sobre las diferencias. Pero hay diferencias. http://odetocode.com/articles/348.aspx –

+0

Por supuesto que hay diferencias. Pero no del tipo "más nativo que el otro". Tal vez te refieres a "abstraído de HTML". – tenfour

1
  • <asp:Table> A es un control ASP.NET
  • Un <table> es HTML.

Cada vez que crea un aspx, en realidad está modificando un documento XML que tiene la representación de HTML; esto puede incluir etiquetas del lado del servidor y del lado del cliente.

Su navegador web típico no tiene idea de qué es <asp:Table> porque solo entiende HTML. Por lo tanto, el servidor (ASP.NET) convierte todas las etiquetas del lado del servidor en su representación HTML. Por lo tanto, si utiliza su navegador para ver el origen de una página que incluye <asp:Table>, solo verá las etiquetas <table>.

+0

Corrección: '

' no se ejecuta en absoluto, ya que no es código ejecutable, solo formato HTML. – Piskvor

+3

Eso no es verdad. Puede agregar fácilmente

y modificar también la tabla del lado del servidor. –

0

El <asp:table> representa la sintaxis declarativa de la clase System.Web.UI.WebControls.Table que es un WebControl. Siendo un WebControl, tiene una interfaz de programación mucho más poderosa y proporciona una interfaz más similar a un objeto que proporciona un alto nivel de control.

La etiqueta <table> por otra parte cuando se utiliza con el atributo runat = "servidor" representa la clase System.Web.UI.HtmlControls.HtmlTable que es un HtmlControl. Al ser un HtmlControl, es muy básico y proporciona un control programático mucho menor sobre sus propiedades.

0

Los elementos HTML en los archivos ASP.NET se tratan como texto, los controles del servidor se tratan como objetos. Para hacer estos elementos HTML del lado del servidor programables, puede agregar un atributo runat="server" al elemento HTML. La principal diferencia entre la tabla HTML y <asp:Table> es la forma en que se pueden anidar, crear, enlazar y controlar en tiempo de ejecución como un objeto en lugar de una cadena de texto.

Más información se puede encontrar here.

4

asp:table vidas en el espacio de nombres System.Web.UI.WebControls - estos son componentes que se envuelven alrededor de los diferentes controles HTML y proporcionar una interfaz familiar y el uso de los desarrolladores de Windows Forms (para una mesa, que tendrá un atributo Columns).

table vidas en el espacio de nombres System.Web.UI.HtmlControls y es un análogo directo a los controles HTML reales y proporciona una interfaz más familiar para los desarrolladores de HTML (para una tabla, tendrá un atributo Cols).

En términos de salida, estas se comportan de la misma manera.

Cuestiones relacionadas