I am trying to create a Razor web helper something like this :
@helper DisplayForm() {
@Html.EditorForModel();
}
But this gives the error "CS0103: The name 'Html' does not exist in the current context"
.
Is there any way to reference html helpers within web helpers?
You can cast the static Page property from the context to the correct type:
@helper MyHelper() {
var Html = ((System.Web.Mvc.WebViewPage)WebPageContext.Current.Page).Html;
Html.RenderPartial("WhatEver");
@Html.EditorForModel();
}
Declarative helpers in Razor are static methods. You could pass the Html helper as argument:
@helper DisplayForm(HtmlHelper html) {
@html.EditorForModel();
}
@DisplayForm(Html)
Razor inline WebHelper is generate static method.
So can not access instance member.
@helper DisplayForm(HtmlHelper html){
@html.DisplayForModel()
}
How about this?