私は次のようなRazorWebヘルパーを作成しようとしています:
@helper DisplayForm() {
@Html.EditorForModel();
}
しかし、これはエラーになります"CS0103: The name 'Html' does not exist in the current context"。
Webヘルパー内でHTMLヘルパーを参照する方法はありますか?
私は次のようなRazorWebヘルパーを作成しようとしています:
@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()
}
これはどう?