Domanda

Sto cercando di creare un rasoio web aiutante qualcosa di simile:

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

Ma questo dà l'"CS0103: The name 'Html' does not exist in the current context" errore.

C'è un modo per aiutanti di riferimento HTML all'interno aiutanti web?

È stato utile?

Soluzione

Si può lanciare la proprietà pagina statica dal contesto nel tipo corretto:

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

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

Altri suggerimenti

aiutanti dichiarative in Razor sono metodi statici. Si potrebbe passare il Html helper come argomento:

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

@DisplayForm(Html)

Razor linea WebHelper è generare metodo statico.

Quindi non possono membro di istanza di accesso.

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

Che ne dici di questo?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top