TOC

This article has been localized into German by the community.

Razor:

IF Anweisungen

Wenn Sie das Markup für Ihre Ansichten definieren, ist es äußerst nützlich, eine bedingte Anweisung zu definieren, die entscheidet, ob ein Teil der Ansicht interpretiert und gerendert wird. Die gebräuchlichste bedingte Anweisung ist die if-Anweisung, und Sie können eine dieser Anweisungen in Ihrem Razor-Code verwenden, so wie Sie es im normalen C#-Code tun würden. Stellen Sie dem Schlüsselwort einfach den Razor-Operator (@) voran, und schon kann es losgehen .

Die if-anweisung

Hier ist ein Beispiel für eine einfache if-Anweisung mit Razor - denken Sie daran, dass diese neben regulärem HTML auch direkt in Ihre Ansichten aufgenommen werden kann:

@if(DateTime.Now.Year == 2042)
{
    <span>The year 2042 has finally arrived!</span>
}

Wie Sie sehen können, ist es nur C# mit HTML gemischt. Sie sollten sich jedoch zweier Dinge bewusst sein. Erstens hätte ich in regulärem C# die geschweiften Klammern überspringen können, weil es nur eine Code- / Markup-Zeile als Bedingung gibt. Dies ist in Razor jedoch nicht zulässig. Unabhängig davon, wie viele Linien Ihren Kontrollstrukturen folgen, müssen sie von geschweiften Klammern umgeben sein. Als zweites merke ich, wie ich direkt von C# in Markup wechsle. Dies ist möglich, weil der Parser den Unterschied zwischen HTML-Tags und C# -Code leicht verstehen kann. Wenn ich dagegen nur eine Textzeile ohne HTML-Tags geschrieben hätte, wäre der Parser verwirrt gewesen. In solchen Fällen können Sie die <text> -Tags verwenden, wie im vorherigen Artikel beschrieben.

Die if-else Anweisung

Wenn es ein "Wenn" (if) gibt, gibt es oft auch ein "Sonst" (else), und dies gilt auch für Razor. Sie können eine if-else-Anweisung erstellen, wie Sie es in C# tun würden. Hier ist ein Beispiel:

@if(DateTime.Now.Year >= 2042)
{
    <span>The year 2042 has finally arrived!</span>
}
else
{
    <span>We're still waiting for the year of 2042...</span>
}

Zusammenfassung

Die Verwendung von if-Anweisungen in Razor ist genauso einfach wie in C#. In Kombination mit dem Zugriff auf andere C# -Sprachenkonstrukte wie Schleifen ist Razor eine sehr leistungsstarke Vorlagenengine für Ihre ASP.NET-MVC-Seiten.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!