This article has been localized into German by the community.
Einführung
Als Microsoft das ASP.NET MVC-Framework zum ersten Mal erstellte, wurden WebForms-Seiten zum Anzeigen von Inhalten verwendet. WebForms war jedoch nicht so flexibel wie die Leute das von anderen MVC-Frameworks kannten - es hatte zu viel Overhead in Form von ViewState, Serversteuerelementen usw. Aus diesem Grund entschied sich Microsoft für die Implementierung einer viel einfacheren und leichteren Sprach- / Ansichts-Engine das MVC-Framework. Sie nannten es Razor und es wurde im Januar 2011 als Teil von ASP.NET MVC Version 3 veröffentlicht.
Mit Razor können Sie in verschiedenen "Dialekten" schreiben, die auf Ihrer bevorzugten .NET-Sprache basieren. In diesem Tutorial konzentrieren wir uns auf die C# -Version von Razor, aber Sie können Razor auch mit VB.NET verwenden.
Warum sollte man Razor verwenden?
Der größte Vorteil von Razor ist, dass Sie clientseitiges Markup (HTML) mit serverseitigem Code (z. B. C# oder VB.NET) mischen können, ohne explizit zwischen den beiden Syntaxtypen wechseln zu müssen. Betrachten Sie beispielsweise das folgende Beispiel einer Seite in ASP.NET-WebForms:
<p>Hello, world - my name is <%= name %> and the current date is: <%= DateTime.Now.ToString() %></p>
In Razor können Sie auf serverseitige Variablen usw. verweisen, indem Sie ihr einfach ein at-Zeichen (@) voranstellen. Das obige Beispiel, das stattdessen mit Razor geschrieben wurde, würde folgendermaßen aussehen:
<p>Hello, world - my name is @name and the current date is: @DateTime.Now.ToString()</p>
Dieses grundlegende Beispiel spart Ihnen natürlich nicht viele Tastatureingaben, aber auf lange Sicht macht es das Erstellen Ihrer Seiten und das Kombinieren von Markups mit Code viel einfacher und viel schneller. Dies wird offensichtlicher, wenn Sie etwas etwas Fortgeschritteneres tun möchten, beispielsweise eine bedingte Aussage in Ihrer Sicht:
<%
if(Request.QueryString["test"] != null)
{
%>
<p>Lots of markup here...</p>
<p>Test value: <b><%= Request.QueryString["test"] %></b></p>
<p>And even more here...</p>
<%
}
%>
In Razor könnten Sie dasselbe wie folgt erreichen:
@if(Request.QueryString["test"] != null)
{
<p>Lots of markup here...</p>
<p>Test value: <b>@Request.QueryString["test"]</b></p>
<p>And even more here...</p>
}
Zusammenfassung
Wie Sie aus den obigen Beispielen ersehen können, vereinfacht Razor das Kombinieren von Markup und Code erheblich. In den nächsten Kapiteln werden wir uns eingehender mit der Razor-Syntax und ihrer Funktionsweise befassen.