Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

ASP.NET MVC 5 Grundkurs

Weitere Razor-Features

Testen Sie unsere 2019 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Die Razor-Syntax ist stark reduziert. Dennoch ist es möglich, auch weiterführende Features wie Kommentare oder sogar die Ausgabe von Sonderzeichen damit umzusetzen.
06:57

Transkript

Code gehört natürlich auch kommentiert. Das vereinfacht die spätere Bearbeitung, entweder durch einen Kollegen oder vielleicht auch durch einen selber, wenn seit der Codeerstellung schon relativ viel Zeit ergangen ist. Und in der Tat, gibt es natürlich Kommentar Support für Razor. Die erste Idee die einem kommt, ist sich einfach auf HTML-Mittel zu beschränken und ein Kommentar anzulegen, der wird vom Browser tatsächlich ignoriert, wird aber auch an den Browser geschickt, das heißt, jeder der sich den Quellcode Ihrer Website anschaut sieht diesen Kommentar das ist vielleicht nicht immer unbedingt das was wir möchten, deswegen ist es vielleicht interessanter ein Razor Kommentar zu verwenden. Auch hierzu gibt es eine Syntax, die beginnt mit, einmal dürfen Sie raten, genau, @* *@, und das ist jetzt ein einzeiliger Kommentar, das heißt, @*das ist ein Razer-Kommentar*@ ist etwas was nicht in der HTML-Seite auftaucht, heißt, also nicht an den Client geschickt wird, das sehen nur Sie, auch innerhalb von so einem Code-Block können Sie einen Razor-Kommentar platzieren, @*das ist ein Kommentar in einem Code-Block*@. Funktioniert also genauso aber da wir ja uns innerhalb eines C#-Elements oder eines C# Blocks befinden, gelten natürlich auch die C# Syntaxregeln, das heißt ich kann einen einzeiligen C#-Kommentar verwenden oder auch einen mehrzeiligen C#-Kommentar und den dann wieder beenden. Dieses Sternchen hier das ist nur so eine optische Sache, reicht natürlich auch wenn das Ganze einfach so eingebunden wird und so aufhört. Das heißt also, das ist ein einseitiges C#-Kommentar, das ist ein mehrzeiliges C#-Kommentar, den kann ich auch verwenden, aber nur innerhalb eines Code-Blocks. Außerhalb eines Code-Blocks und innerhalb eines Code-Blocks habe ich die Option, dass ich mit den Klammeraffen und dem Sternchen jeweils einen einzelnen Kommentar einleite und entsprechend wieder beende. Davon abgesehen gibt es noch ein-zwei Aspekte bei Razor, die noch eine Erwähnung bedürfen, weil die Randfälle indizieren und wie Sie damit am besten umgehen. Das hängt auch damit zusammen, dass ja der Klammeraffe quasi ein Syntaxzeichen ist. Und dieses Syntaxzeichen hat eben mehrere Verwendungsmöglichkeiten, mehrere Bedeutungen Das wird natürlich ein wenig knifflig, wenn Sie beispielsweise mit Texten arbeiten und diese Texte enthalten dieses Sonderzeichen auch. Nehmen wir beispielsweise an, Sie wollen bei jedem Schleifendurchlauf zusätzlich zur Zellvariablen auch noch eine E-Mail Adresse ausgeben, zum Beispiel die E-Mail Adresse "test@example.com". Sieht jetzt schwierig aus, sieht nach einem Brandfall aus, weil das könnte ja auch eine Anweisung sein für Razor, das in der Tat die Variable "@example" ausgegeben wird. Jetzt sehen Sie aber hier, er beschwert sich nicht, führen wir es aus und große Überraschung, wenn wir jetzt die Liste sehen, die ausgegeben wird, dann taucht tatsächlich bei jedem Durchlauf "test@example.com" aus. Warum? Weil mittlerweile Razor so klug ist und eben solche E-Mail-Adressen erkennt, das heißt, dieses typische E-Mail Adressen Muster wird erkannt. Hier zählt also der Klammeraffe nicht unbedingt als Syntaxzeichen. Ist aber erst in neueren Versionen so. In älteren Versionen stoßen Sie ja möglicherweise an ein bestimmtes Limit, dann müssten Sie den Klammeraffen escapen. Normalerweise escapet man ja in C#-Sprachen mit einem Backslash, aber wir haben ja schon ein besonderes Sonderzeichen. warum nehmen wir das nicht auch zum escapen? Das heißt, wir könnten einfach zwei Klammeraffen nehmen und wenn wir uns das dann anschauen, noch mal neu starten, dann sehen wir in der Ausgabe direkt was Razor daraus macht, nämlich weiterhin nur einen Klammeraffen, das heißt, das ist ein Escape-Zeichen. Prinzipiell also, wenn Sie irgendeinen Klammeraffen ausgeben möchten, escapen Sie ihn mit einem weiteren Klammeraffen, dann ist absolut klar, dass das wirklich der Klammeraffe per se sein soll, aber eben nicht das besondere Syntaxzeichen dafür. Ein weiterer Ansatz um Text auszugeben ist auch noch folgende Syntax, die ebenfalls noch gut in unsere Reihen passt, wieder der Klammeraffe und normalerweise was auf einen Klammeraffen folgt, ist ja ein Variablenname, soll es ein String sein, verwenden wir einfach den Doppelpunkt und danach den String, und zwar nicht in Anführungszeichen, weil dann würden die Anfangszeichen mit ausgegeben werden, sondern einfach den String selber, also: @: Ausgabe einer Zeichenkette, ist also eine Alternative zu beispielsweise dem Einsatz dieses Text-Elements, mit dem wir ja auch Strings eingrenzen können, ist ein bisschen weniger sogar zu tippen, auch weniger gelb in Editor, was vielleicht auch ein Vorteil sein mag, und tatsächlich hier steht jetzt "Ausgabe einer Zeichenkette". Hat also auch genau so funktioniert, wie gewünscht und ist eben ein weiterer Weg, um entsprechend Inhalte anzeigen zu können mit Razor. Und ein abschließender Hinweis zu Razor sei noch erlaubt. hat auch wieder zu tun mit der Ausgabe von Werten, gerade wenn wir zum Beispiel einen Variablennamen haben, angenommen "Zeichenkette" wäre eine Variable. Tja, was ist jetzt eine Variable haben wir Z oder Zeichenkette. Standardmäßig geht Razor hier gierig vor, das heißt es wird einfach versucht, alles was noch ein Variablenname sein könnte als Variablenname zu verwenden. Wenn wir jetzt allerdings eine Variable Z zum Beispiel hätten, die wir anlegen wollen, also setzen wir es mal "var Z = Z", würde das hier nicht passen. Wie machen wir jetzt Razor klar, das "Z" der Variablenname ist und nicht "Zeichenkette"? Wir klammern einfach, das heißt, jetzt ist Z entsprechend der Variablenname und eichenkette ist entsprechend dazugehörig Text, der einfach normal ausgegeben werden soll. Damit wir ein Unterschied sehen, machen wir das Z vielleicht mal klein, speichern und geben es dann wieder erneut aus. Und jetzt erscheint wieder zehnmal der Text mit der Zeichenkette, aber die Zeichenkette ist jetzt alles geschrieben, nämlich mit kleinem z. Und genau mit dieser Klammerung lassen sich andere Fälle lösen, zum Beispiel kann man innerhalb der Klammer auch noch entsprechend Code haben, wie etwa eine Konkatenation oder wenn es eine Zahl wäre eine Berechnung, das heißt, das ist dadurch einfach abgekapselt und somit lassen sich auch die Ausgaben entsprechend ja ein bisschen besser strukturieren und einfach viel flexibler gestalten. Und wie gesagt, irgendwann kommen die Daten eh alle aus dem Modell, das heißt wir bekommen einfach Daten, in welcher Form auch immer, und verwenden dann eine Mischung aus Standard-Kontrollstrukturen, wie etwa If oder For Edge oder For und geben das dann aus innerhalb eines HTML-Kontextes und haben eben hier mit dieser Razor-Syntax alle Möglichkeiten zur Verfügung, die wir brauchen.

ASP.NET MVC 5 Grundkurs

Machen Sie sich mit den Grundlagen von ASP.NET MVC 5 vertraut und lassen Sie sich in dieser anspruchsvollen Einführung diesen Architekturansatz von Microsoft erläutern.

2 Std. 30 min (20 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!