カミソリのWebヘルパーのHTMLヘルパーを使用して
-
26-09-2019 - |
質問
私はこのようなカミソリウェブヘルパー何かを作成しようとしています。
@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