¿Cuándo debería usar#y=en los controles ASP.NET?
data-binding (3)
He estado usando ASP.NET durante años, pero nunca recuerdo cuando usar # y = son apropiados.
Por ejemplo:
<%= Grid.ClientID %>
o
<%# Eval("FullName")%>
¿Alguien puede explicarme cuándo debería usarse cada uno para que pueda mantenerlo en mi mente? ¿Se usa # solo en controles que admiten el enlace de datos?
<% =%> es el equivalente a hacer Response.Write ("") donde sea que lo coloques.
<% #%> es para enlace de datos y solo se puede usar cuando se admite el enlace de datos (puede usarlos en el nivel de página fuera de un control si llama a Page.DataBind () en su código detrás)
Aquí hay una gran entrada de blog de Dan Crevier que recorre una aplicación de prueba que escribió para mostrar las diferencias.
En esencia:
- Las expresiones <% = se evalúan en el momento del renderizado
- Las expresiones <% # se evalúan en DataBind () y no se evalúan en absoluto si no se llama a DataBind ().
- Las expresiones <% # se pueden usar como propiedades en los controles del lado del servidor. <% = expresiones no pueden.
Hay un par de diferentes picaduras de abeja:
-
<%@
- directiva de página -
<%$
- acceso a recursos -
<%=
- salida explícita a la página -
<%#
- enlace de datos -
<%--
- bloque de comentario del lado del servidor
También nuevo en ASP.Net 4:
-
<%:
- escribe en la página, pero con HTML codificado