<% $, <% @ <% = <% # ... was ist das Problem?
-
12-09-2019 - |
Frage
Ich habe sowohl in klassischen ASP und ASP.NET programmiert, und ich sehe verschiedene Tags innerhalb des Markup für serverseitigen Code.
Ich habe über ein gutes Blog auf MSDN , die zwischen über die Differenz geht:
-
<%=
(Anteil zusammen mit Gleichheitszeichen) und -
<%#
(Prozentzeichen und hash / Pfund / Rautenzeichen)
(<%#
wird nur bei databind ausgewertet und <%=
bei machen ausgewertet), aber ich sehe auch:
-
<%$
(Prozent und Dollarzeichen) und -
<%@
(Prozentzeichen und Symbol).
Ich glaube, <%@
Lasten Dinge wie Baugruppen und vielleicht <%$
Lasten Dinge von Konfigurationsdateien? Ich bin mir nicht sicher.
Ich habe mich nur gefragt, ob jemand für mich all dies zu klären und möglicherweise erklären, warum es wichtig ist, so viele verschiedenen Tags zu erstellen, die scheinbar einen ähnlichen Zweck haben?
Lösung
-
<% %>
- ist für Inline-Code (insbesondere logischer Fluss) -
<%$ %>
- ist für Ausdrücke (wie Ressourcenvariablen) Auswertung -
<%@ %>
- ist für Seite Richtlinien , Registrierung Baugruppen, Import von Namensräumen, etc. -
<%= %>
- kurz Hand fürResponse.Write
(diskutiert hier ) -
<%# %>
- wird für Daten verwendet Bindungsausdrücke .
-
<%: %>
- kurz Hand Response.Write (Server.HTMLEncode ()) ASP.net 4.0 + -
<%#: %>
- wird für Daten verwendet Bindungsausdrücke und automatisch Htmlencoded ist -
<%-- --%>
- ist für serverseitige Kommentare
Andere Tipps
Sie haben 2 von ihnen bedeckt (<% # nur bei databind ausgewertet wird, und <% = bei machen ausgewertet), und die Antwort für „<%@
“ ist, dass es Compiler-Direktiven ist (dh., Sachen wie das, was Sie ‚d auf einem Compiler-Befehlszeile setzen).
Ich weiß nicht, über "<%$
".