2009-09-08 11 views
15

mögliche Dubletten ist: mit diesem
What is the difference between <% %> and <%=%>?
C# MVC: What is the difference between <%# and <%=Was ist der Unterschied zwischen <% %> und <%= %> in ASP.NET MVC

Ich bin so verwirrt.

erklären Sie den Unterschied zwischen diesen wenn möglich ..

Welche Bedeutung das heißt „=“ da?

Edit: Vielen Dank für all Ihre Antworten.Bitte verstehen Sie, dass es schwierig war, irgendwelche Ergebnisse zu erhalten, indem Sie auf Google und auf der Suchleiste in stackoverflow als auch "<% =" suchen.

+0

Dies ist ein Betrogene sicher ist, aber ich bin immer noch kämpfen, um es zu finden. –

+0

Will: Suche nach Interpunktionszeichen ist schwer. auf Meta diskutiert. –

+0

Und was ist mit '<%# %>'? Dieser ist einfach verrückt. – Kobi

Antwort

35

<% %> ist ein generischer Codeblock.

<%= expression %> entspricht <% Response.Write(expression); %>.

3

<% =%> -Tag druckt die Ausgabe des Codes, <%%> führt nur den Code aus.

8

Es ist verwirrend, und es braucht eine Menge Wiederholungen, um sich daran zu gewöhnen.

Die Syntax <% = wird zum Auswerten von Ausdrücken verwendet, deren zurückgegebene Werte in HTML-Markup enthalten sein sollen. Zum Beispiel:

<%= DateTime.Now.ToShortDateString() %> 

Dies wird das aktuelle Datum in der HTML-Markup enthalten.

Die <% ist für Inline-Anweisungen, wo Sie einen oder mehrere Befehle an einem bestimmten Punkt während des Seitenrenderings ausführen möchten. Ich habe in der Vergangenheit Html-Helfer verwendet, indem ich die Hilfsmethode mit <% ausgeführt habe. Beispiel:

<% Html.TextBox("txtBox"); %> 

Beachten Sie, dass die hier verwendeten Anweisungen mit einem Semikolon im C# -Code beendet werden müssen.

EDIT: Fehlerhafte Details über HTML-Helfer entfernt und ungültige Rückgaben.

+0

Tatsächlich geben fast alle der Html Helper eine Zeichenfolge zurück, anstatt auf das Response-Objekt zu schreiben - <% = Html.TextBox ("txtBox ")%>. Dies ermöglicht Ihnen z. Nest-Helper-Methoden. –

+3

'<% Html.TextBox (" txtBox "); %> 'verwirft automatisch den Rückgabewert und gibt nichts aus. –

+0

Danke für die Erläuterungen –

9

Mehrdad Kommentar über <%$ pikiert meine Neugier, so fand ich diese inline asp.net tags Liste von "asp.net Inline-Code" (sans Anführungszeichen) googeln. Es hat msdn Links und Beschreibungen aller Inline-Tags (<%, <%=, <%#, <%$, <%@, <%--).

+1

zu ergänzen, '<%', '<% =', '<% -' und '<% @' sind von klassischen ASP geerbt. '<% #' ist ein ASP.NET-Zusatz. '<% $' wurde in ASP.NET 2.0 hinzugefügt. –

+0

@MehrdadAfshari Nicht gehört von '<% -' in Classic ASP verwendet haben Sie ein Beispiel? Die einzigen, die Classic ASP verwendet, sind '<%', '<% =' und '<% @'. – Lankymart

+0

'<% -' ist ein serverseitiger Kommentar. Es ist ähnlich wie " Brian

3

Dieser Beitrag listet alle Sorten schön auf: ASP.NET "special" tags.

Ich würde dies normalerweise als Kommentar posten, aber es gibt eine Reihe von anderen Betrogenen. Ich erinnere mich, dass jemand sie als "Bienenstich" bezeichnete (keine offizielle Terminologie) und die Schlüsselwörter, nach denen ich suchte, waren asp.net bee stings.

Das heißt, hier sind einige andere Betrogenen:

+0

Danke für diese Links. – Josh

Verwandte Themen