Using html helpers in Razor web helper
-
26-09-2019 - |
Question
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?
Solution
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();
}
OTHER TIPS
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?
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow