Mit HTML-Helfer in Razor Web-Helfer
-
26-09-2019 - |
Frage
Ich versuche, ein Rasiermesser Web-Helfer, so etwas zu erstellen:
@helper DisplayForm() {
@Html.EditorForModel();
}
Aber das gibt den Fehler "CS0103: The name 'Html' does not exist in the current context"
.
Gibt es eine Möglichkeit, um Referenz html Helfer innerhalb Web-Helfer?
Lösung
Sie können die statische Seite Eigenschaft aus dem Kontext auf den richtigen Typ umwandeln:
@helper MyHelper() {
var Html = ((System.Web.Mvc.WebViewPage)WebPageContext.Current.Page).Html;
Html.RenderPartial("WhatEver");
@Html.EditorForModel();
}
Andere Tipps
deklarative Helfer in Razor sind statische Methoden. Sie könnten den Html-Helfer als Argument übergeben:
@helper DisplayForm(HtmlHelper html) {
@html.EditorForModel();
}
@DisplayForm(Html)
Razor Inline WebHelper ist statische Methode erzeugen.
So nicht zugreifen kann beispielsweise Mitglied.
@helper DisplayForm(HtmlHelper html){
@html.DisplayForModel()
}
Wie wäre das?
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow