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?

War es hilfreich?

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)

Databinding Expressions Übersicht

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.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top