Razor-Helper

Eintrag zuletzt aktualisiert am: 01.05.2018

Immer wiederkehrende Aufgaben können mit Unterstützung von Razor in eigene sogenannte Helper ausgelagert werden. Im Wesentlichen handelt es sich dabei um Methoden, die mit Hilfe von Razor entwickelt werden. Razor-Helper werden innerhalb von Views mit dem Schlüsselwort @helper eingeleitet. Das nachfolgende Beispiel zeigt zum Beispiel die Definition des Helpers RenderLogo, welches den Namen eines Logos entgegennimmt, und damit ein Image-Tag rendert.
@helper RenderLogo(string name) {
<img src="@name" width= "64" height= "64" />
}
Anschließend kann der Helper wie eine serverseitige Methode an den gewünschten Stellen aufgerufen werden:
<div class="logos">
@RenderLogo("beeindruckend.jpg")
</div>

Um einen Helper für alle Views bereitzustellen, definiert ihn der Entwickler in einer Datei, welche die Endung cshtml (oder vbhtml) aufweist und sich im globalen Projektverzeichnis AppCode befindet. Angenommen, die Datei trägt den Namen LogoHelper und beherbergt den Helper RenderLogo, so kann der Entwickler auf diesen Helper in sämtlichen Razor-Views durch Angabe von @LogoHelper.RenderLogo zurückgreifen. Würde sich die Datei in einem Ordner namens AppCode/MyHelpers befinden, könnte der Entwickler RenderLogo hingegen über @MyHelpers.LogoHelper.RenderLogo zur Ausführung bringen. Somit lassen sich Helper beliebig strukturieren.