<% $, <% @, <% =, <% # ... qual è il problema?
-
12-09-2019 - |
Domanda
Ho programmato sia nel classico ASP e ASP.NET, e vedo diversi tag all'interno del markup per il codice lato server.
Ho recentemente incontrato un buon blog su MSDN che va oltre la differenza tra:
-
<%=
(percentuale con segno di uguale) e -
<%#
(segno di percentuale e hash / pound / octothorpe)
(<%#
viene valutato solo a DataBind, e <%=
viene valutata in fase di rendering), ma vedo anche:
-
<%$
(per cento e il simbolo del dollaro) e -
<%@
(segno di percentuale e al simbolo).
Credo carichi <%@
cose come assemblee e carichi forse <%$
cose dal file di configurazione? Io non sono troppo sicuro.
Mi chiedevo se qualcuno potrebbe chiarire tutto questo per me e forse spiegare perché è importante creare tante etichette diverse che apparentemente non hanno uno scopo simile?
Soluzione
-
<% %>
- è per codice inline (in particolare flusso logico) -
<%$ %>
- è per valutare espressioni (come le variabili di risorse) -
<%@ %>
- è per le direttive pagina , assemblee registrazione, gli spazi dei nomi importatori, ecc. -
<%= %>
- è di breve portata di mano perResponse.Write
(discusso qui ) -
<%# %>
- viene utilizzato per i dati vincolanti espressioni .
-
<%: %>
- è di breve portata di mano per Response.Write (Server.HTMLEncode ()) ASP.net 4.0 + -
<%#: %>
- viene utilizzato per i dati vincolanti espressioni ed è HTMLEncoded automaticamente -
<%-- --%>
- è per i commenti del lato server
Altri suggerimenti
Hai coperto 2 di loro (<% # viene valutato solo a DataBind, e <% = viene valutata in fase di rendering), e la risposta per "<%@
" è che si tratta di direttive del compilatore (ad es., Roba come quello che si 'd mettere in riga di comando di un compilatore).
Non so di "<%$
".