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 App
Code 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.