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.
<%#
wird häufig mit verwendet eval
, muss aber nicht: Sie können damit jeden serverseitigen Code ausführen, vorausgesetzt, Sie führen ihn Page.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.