题
我想创建一个剃刀网络助手是这样的:
@helper DisplayForm() {
@Html.EditorForModel();
}
但是,这提供了错误"CS0103: The name 'Html' does not exist in the current context"
。
是否有任何的方式来参考HTML辅助幅助手内?
解决方案
可以从上下文投静态页面属性为正确的类型:
@helper MyHelper() {
var Html = ((System.Web.Mvc.WebViewPage)WebPageContext.Current.Page).Html;
Html.RenderPartial("WhatEver");
@Html.EditorForModel();
}
其他提示
在剃刀声明助手是静态方法。你可以通过HTML辅助作为参数:
@helper DisplayForm(HtmlHelper html) {
@html.EditorForModel();
}
@DisplayForm(Html)
剃刀直列WebHelper是生成静态方法。
所以不能访问实例成员。
@helper DisplayForm(HtmlHelper html){
@html.DisplayForModel()
}
这个怎么样?
不隶属于 StackOverflow