Ich stelle fest, dass Scott Guthrie Razor in seinem Blog ein wenig erwähnt, aber ich bin mir einfach nicht sicher, ob es gut zu meinem Stil passt.
Zugegeben, es ist ein ziemlich ungewohnter Stil für jemanden, der an eine "Standard" -Sorte von ASP.Net-Markups (Platzhalter für Inhalte und Inline-Code) gewöhnt ist, aber es fühlt sich für mich einfach nach vielen zusätzlichen Seiten an, die verwaltet werden müssen, und nach weniger klaren Markups.
Was denken andere Leute darüber? Ist es etwas, von dem Sie glauben, dass es ernsthaft in Betracht gezogen werden sollte, wenn neue MVC-Seiten erstellt werden, oder versucht es nur, ein Problem zu lösen, das es nicht gibt?
asp.net-mvc
syntax
markup
razor
asp.net-mvc-3
Phil.Wheeler
quelle
quelle
Antworten:
[Haftungsausschluss: Ich bin einer der Microsoft-Entwickler für MVC und Razor, daher bin ich möglicherweise etwas voreingenommen :)]
Wir haben Razor als prägnante Vorlagensprache entwickelt, die nur die minimal erforderliche Anzahl von Steuerzeichen verwendet. Ich würde sagen, dass große Teile Ihrer Ansichten mit weniger Zeichen als der gleiche Code mit der "traditionellen" WebForms-Syntax ausgedrückt werden können.
Zum Beispiel das folgende Codefragment in der ASPX-Syntax:
Kann in Razor wie folgt ausgedrückt werden:
Während die ASPX-Version 21 Übergangszeichen (das
<%
und%>
) hat, hat die Razor-Version nur drei (@
)Ich würde sagen, dass die Vorteile von Razor wie folgt sind:
Die seitenbezogenen Konzepte lassen sich auch leicht von dem abbilden, was Sie in ASPX haben
@functions { ... }
Blöcke statt<script runat="server"> ... </script>
Darüber hinaus verfügt Razor über eine Reihe nützlicher Konzepte, die meiner Meinung nach besser sind als die in ASPX verfügbaren:
@helper
Funktionen für die einfache Erstellung von Funktionen, die Markups ausgeben@model
Schlüsselwort zum Angeben des Modelltyps Ihrer Ansicht, ohne dass eine<%@ Page ...
Direktive mit dem vollständigen Klassennamen geschrieben werden mussIch würde gerne glauben, dass wir ein echtes Problem gelöst haben, das es Ihnen ermöglicht, einfacher prägnante und standardkonforme Ansichten zu schreiben und Ihnen gleichzeitig Möglichkeiten zur Umgestaltung des allgemeinen Codes zu bieten.
Natürlich wird nicht jeder die Syntax bevorzugen, weshalb wir auch die ASPX View Engine voll unterstützen. Darüber hinaus können Sie sich Spark und NHaml ansehen, zwei View-Engines von Drittanbietern, die eine große Community-Fangemeinde haben. Der folgende Blog-Beitrag bietet einen guten Vergleich der verschiedenen Angebote: http://blogs.msdn.com/b/coding4fun/archive/2010/10/04/10070953.aspx
quelle
<a href="mailto:[email protected]">
?@@
Persönlich schätze ich die Reduzierung der Anzahl der verwendeten Escape-Zeichen sehr. Die Verwendung
<% %>
wird im Vergleich zu@{}
und ist bei weitem nicht so syntaktisch ansprechend.Darüber hinaus wird das Schreiben einer vollständigen Definition für das Codebehind und die Seite zu einer einzigen vereinfacht
@model model
.Wie auch von Marcind bemerkt,
runat=server
ist es auch sehr schön , nicht immer einschließen zu müssen .Insgesamt schätze ich die Verwendung der Razor-Engine sehr und finde, dass sie mir nicht nur die Entwicklung erleichtert, sondern auch das Lesen von Code erleichtert.
quelle