我正在尝试创建一个类似这样的 Razor 网络助手:
@helper DisplayForm() {
@Html.EditorForModel();
}
但这给出了错误"CS0103: The name 'Html' does not exist in the current context"
。
有没有办法在 web 助手中引用 html 助手?
我正在尝试创建一个类似这样的 Razor 网络助手:
@helper DisplayForm() {
@Html.EditorForModel();
}
但这给出了错误"CS0103: The name 'Html' does not exist in the current context"
。
有没有办法在 web 助手中引用 html 助手?
您可以将静态 Page 属性从上下文转换为正确的类型:
@helper MyHelper() {
var Html = ((System.Web.Mvc.WebViewPage)WebPageContext.Current.Page).Html;
Html.RenderPartial("WhatEver");
@Html.EditorForModel();
}
Razor 中的声明式助手是静态方法。您可以将 Html 助手作为参数传递:
@helper DisplayForm(HtmlHelper html) {
@html.EditorForModel();
}
@DisplayForm(Html)
Razor 内联 WebHelper 是生成静态方法。
所以不能访问实例成员。
@helper DisplayForm(HtmlHelper html){
@html.DisplayForModel()
}
这个怎么样?