Question

Je suis en train de créer quelque chose comme un assistant Web Razor ceci:

@helper DisplayForm() {    
    @Html.EditorForModel();    
}

Mais cela donne le "CS0103: The name 'Html' does not exist in the current context" d'erreur.

Y at-il moyen d'aides html de référence dans les aides web?

Était-ce utile?

La solution

Vous pouvez lancer la propriété Page statique du contexte du type correct:

@helper MyHelper() {
    var Html = ((System.Web.Mvc.WebViewPage)WebPageContext.Current.Page).Html;

    Html.RenderPartial("WhatEver");
    @Html.EditorForModel();
}

Autres conseils

Aides déclaratives en Razor sont des méthodes statiques. Vous pouvez passer le Html assistant comme argument:

@helper DisplayForm(HtmlHelper html) {
    @html.EditorForModel(); 
}

@DisplayForm(Html)

Razor ligne WebHelper est générer méthode statique.

ne peut pas membre d'une instance d'accès.

@helper DisplayForm(HtmlHelper html){
    @html.DisplayForModel()
}

Comment cela?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top