Wann soll ich # und = in ASP.NET-Steuerelemente?
-
02-07-2019 - |
Frage
Ich habe seit Jahren ASP.NET worden, aber ich kann nie erinnern, wenn die # und = angemessen sind.
Zum Beispiel:
<%= Grid.ClientID %>
oder
<%# Eval("FullName")%>
Kann mir jemand erklären, wenn jeder verwendet werden soll, so kann ich es gerade in meinem Kopf behalten? Ist # nur in der Kontrollgruppe verwendet, die Datenbindung unterstützen?
Lösung
<% =%> ist das Äquivalent Response.Write zu tun ( ""), wo Sie es platzieren.
<% #%> ist für Datenbindung und kann nur verwendet werden, wenn die Datenbindung unterstützt wird (Sie diese auf der Seite Ebene außerhalb einer Kontrolle verwenden können, wenn Sie anrufen Page.DataBind () in der Code-Behind)
Andere Tipps
Es gibt ein paar verschiedene Bienenstiche ':
-
<%@
- Seite Richtlinie -
<%$
- Ressourcenzugriff -
<%=
- explizite Ausgabe auf Seite -
<%#
- Datenbindung -
<%--
- Serverseite Kommentarblock
Ebenfalls neu in ASP.Net 4:
-
<%:
- schreibt auf der Seite, aber mit HTML codiert
Ebenfalls neu in ASP.Net 4.5:
-
<%#:
- HTML codierte Datenbindung
Hier ist ein große Blog-Post von Dan Crevier , die ein Test-App geht durch schrieb er die Unterschiede zu zeigen.
Im Wesentlichen:
- Die <% = Ausdrücke ausgewertet werden zu Renderzeit
- Die <% # Ausdrücke werden bei DataBind () ausgewertet und sind überhaupt nicht ausgewertet, wenn DataBind () wird nicht aufgerufen.
- <% # Ausdrücke können als Eigenschaften in serverseitigen Kontrollen verwendet werden. <% = Ausdrücke nicht.