问题
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?
回答1:
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();
}
回答2:
Declarative helpers in Razor are static methods. You could pass the Html helper as argument:
@helper DisplayForm(HtmlHelper html) {
@html.EditorForModel();
}
@DisplayForm(Html)
回答3:
Razor inline WebHelper is generate static method.
So can not access instance member.
@helper DisplayForm(HtmlHelper html){
@html.DisplayForModel()
}
How about this?
来源:https://stackoverflow.com/questions/4032490/using-html-helpers-in-razor-web-helper