2009-09-08 23 views
15

posibles duplicados:
What is the difference between <% %> and <%=%>?
C# MVC: What is the difference between <%# and <%=¿Cuál es la diferencia entre <% %> y <%= %> en ASP.NET MVC

Estoy tan confundido con esto.

favor explicar la diferencia entre esto si es posible ..

¿Cuál es el significado de que "=" hay?

Editar: Gracias por todas sus respuestas.Tenga en cuenta que fue difícil obtener ningún resultado al buscar "<% =" en google y en la barra de búsqueda en stackoverflow también.

+0

Esta es una víctima de seguro, pero todavía estoy luchando para encontrarlo. –

+0

Voluntad: la búsqueda de caracteres de puntuación es difícil. discutido en meta. –

+0

¿Y qué pasa con '<%# %>'!? Ese es solo una locura. – Kobi

Respuesta

35

<% %> es un bloque de código genérico.

<%= expression %> es equivalente a <% Response.Write(expression); %>.

3

<% =%> etiqueta imprime la salida del código, <%%> simplemente ejecuta el código.

8

Es confuso, y se necesita una gran cantidad de repeticiones para sentirse cómodo.

La sintaxis <% = se utiliza para evaluar expresiones cuyos valores devueltos están destinados a incluirse dentro del marcado HTML. Por ejemplo:

<%= DateTime.Now.ToShortDateString() %> 

Esto incluirá la fecha actual en el formato HTML.

<% es para declaraciones en línea, donde desea ejecutar uno o más comandos en un punto específico durante la representación de la página. He usado Html Helpers en el pasado al ejecutar el método de ayuda usando <%. Por ejemplo,

<% Html.TextBox("txtBox"); %> 

Tenga en cuenta que las declaraciones se usa aquí tiene que ser terminada con un punto y coma en código C#.

EDIT: Se han eliminado los detalles erróneos sobre los ayudantes de HTML y los retornos vacíos.

+0

En realidad, casi todos los helpers Html Helpers devuelven una cadena en lugar de escribir en el objeto Response - <% = Html.TextBox ("txtBox ")%>. Esto le permite, por ejemplo, métodos de ayuda de nido. –

+3

'<% Html.TextBox (" txtBox "); %> 'descarta de forma silenciosa el valor de retorno y no genera nada. –

+0

Gracias por las aclaraciones –

9

El comentario de Mehrdad sobre <%$ despertó mi curiosidad, así que encontré esta lista de inline asp.net tags haciendo clic en "asp.net inline code" (sans quotes). Tiene enlaces msdn y descripciones de todas las etiquetas en línea (<%, <%=, <%#, <%$, <%@, <%--).

+1

para complementar, '<%', '<% =', '<% -' y '<% @' se heredan de ASP clásico. '<% #' es una adición de ASP.NET. '<% $ 'se agregó en ASP.NET 2.0. –

+0

@MehrdadAfshari No se ha escuchado de '<% -' utilizado en ASP clásico ¿tiene un ejemplo? Los únicos ASP clásicos utilizados donde '<%', '<% =' y '<% @'. – Lankymart

+0

'<% -' es un comentario del lado del servidor. Es similar a ' Brian

3

Este post enumera todas las variedades muy bien: ASP.NET "special" tags.

Normalmente publicaría esto como un comentario, pero hay un número de otros engañados. Recuerdo que alguien se refirió a ellos como "picaduras de abeja" (no es la terminología oficial) y las palabras clave que utilicé para buscarlos fueron asp.net bee stings.

Dicho esto, aquí hay algunos otros incautos:

+0

Gracias por esos enlaces. – Josh

Cuestiones relacionadas