Ich kann nicht mit T4-Textvorlagen, um wirklich vertraut behaupten, aber es scheint der Unterschied zwischen Design/Timecode-Generierung bauen (die ausführbaren Anweisungen enthalten kann) und Runtime-Code-Ausführung .
So <#= #>
wertet einen Ausdruck in einer Vorlage, die zum Generieren einer Datei verwendet wird.
Und <%= %>
führt den Code innerhalb des Blocks und schreibt es in den Ausgabestream. Dies wird JIT-kompiliert, wenn die Seite zum ersten Mal ausgeführt wird, aber der Punkt ist, dass sie einen Code-Block bezeichnet, der ausgeführt werden soll, wenn die Seite läuft, nicht während der Erzeugung einer Vorlagen-Datei.
Die dritte Form, <%# %>
, bezeichnet einen Datenbindungsausdruck, der auch ausgewertet wird, wenn die Seite ausgeführt wird.
Expression Steuerblöcke
einer Expressionskontrollbaustein wertet einen Ausdruck aus und wandelt es in eine Zeichenfolge. Dies wird in die Ausgabedatei eingefügt.
Expression Steuerblöcke werden durch die Symbole delimted < # = ... #>
Zum Beispiel die folgenden Steuerblock bewirkt, dass die Ausgabedatei enthalten "5":
<#= 2 + 3 #>
Quelle: http://msdn.microsoft.com/en-us/library/bb126478
durch die Dokumentation geht, hat es die Syntax von '<% %> '. Sehr identisch. – codingbiz
Während der T4-Texterstellung wird <# = DateTime.Now #> ausgewertet und das Ergebnis in die Ausgabe geschrieben. AFAIK <%= %> bedeutet nichts für die T4 Engine und wird nur so geschrieben wie es ist. – FuleSnabel
@FuleSnabel Ich wusste nicht den Unterschied, ich bin neu in T4, ich dachte, es ist eine andere Art zu schreiben Ausdruck ist asp.net. War mir nur komisch – codingbiz