Ich habe sowohl in klassischem ASP als auch in ASP.NET programmiert und sehe im Markup verschiedene Tags für serverseitigen Code.
Ich bin kürzlich auf einen guten Blog auf MSDN gestoßen , der den Unterschied zwischen:
<%=
(Prozentsatz zusammen mit Gleichheitszeichen) und<%#
(Prozentzeichen und Hash / Pfund / Oktothorpe)
( <%#
wird nur bei Datenbindung <%=
ausgewertet und beim Rendern ausgewertet), aber ich sehe auch:
<%$
(Prozent und Dollarzeichen) und<%@
(Prozentzeichen und am Symbol).
Ich glaube, <%@
lädt Dinge wie Assemblys und <%$
lädt vielleicht Dinge aus Konfigurationsdateien? Ich bin mir nicht sicher.
Ich habe mich nur gefragt, ob jemand all dies für mich klären und möglicherweise erklären könnte, warum es wichtig ist, so viele verschiedene Tags zu erstellen, die scheinbar einen ähnlichen Zweck haben.
asp.net
server-tags
Aaron
quelle
quelle
<%#
wird häufig mit verwendeteval
, muss aber nicht: Sie können damit jeden serverseitigen Code ausführen, vorausgesetzt, Sie führen ihnPage.DataBind()
auf der enthaltenen Seite oder ihrer Masterseite aus. Es scheint , dass dies die einzige Möglichkeit ist , falls Sie wollen „Inject“ Server - seitigen Code in Attribute der Server - Seite Steuerelemente wie<asp:TextBox
,<asp:LinkButton
oder sogar ein<input runat="server">
."<%=" "<%:""<%@" "<%#"
und es hat mich hierher geschickt.Antworten:
<% %>
- ist für Inline-Code (insbesondere Logikfluss)<%$ %>
- dient zur Auswertung von Ausdrücken (wie Ressourcenvariablen)<%@ %>
- ist für Seitenanweisungen , Registrieren von Assemblys, Importieren von Namespaces usw.<%= %>
- ist eine Abkürzung fürResponse.Write
( hier besprochen )<%# %>
- wird für Datenbindungsausdrücke verwendet .<%: %>
- ist eine Abkürzung für Response.Write (Server.HTMLEncode ()) ASP.net 4.0+<%#: %>
- wird für Datenbindungsausdrücke verwendet und automatisch HTMLEncodiert.<%-- --%>
- ist für serverseitige Kommentarequelle
Sie haben zwei davon behandelt (<% # wird nur bei Datenbindung ausgewertet und <% = wird beim Rendern ausgewertet), und die Antwort für "
<%@
" lautet, dass es sich um Compiler-Direktiven handelt (dh um Dinge, die Sie anlegen würden) Befehlszeile eines Compilers).Ich weiß nicht über "
<%$
".quelle