HtmlHelper拡張メソッド内のHtmlHelperメソッドへのアクセス-ASP.NET MVC RC2
-
19-08-2019 - |
質問
ASP.NET MVC RC2でHtmlHelper拡張機能を構築しようとしています。このコードはプレビュー5では正常に機能しましたが、RC2ではもう機能しません。その理由を理解しようとしています。コードは次のとおりです。
public static string EmptyDropDownList(this HtmlHelper htmlHelper, string name, object htmlAttributes)
{
return htmlHelper.DropDownList(name, new SelectList(new string[0]), htmlAttributes);
}
問題は、拡張メソッド内からhtmlHelperのすべてのメソッドにアクセスできないことです。したがって、htmlHelper.DropDownListが見つかりません。
提案はありますか
解決
System.Web.Mvc.Html名前空間を含める必要があるのは、ほとんどのHtmlHelperメソッドが実際にその名前空間のクラスで定義された拡張機能であるためです。
www.codeplexでRC1(おそらくRC2のソースコードも)を見つけることができます。 com / aspnet 。 [ソースコード]タブをクリックして、MVCソースコードツリーに移動します。
他のヒント
2つの選択肢:
a。 <!> quot; Using <!> quot;でページに追加します。したがって、カミソリビューページ(mvc 3およびmvc 4) 例えば
@using UrWeb.Helpers
または
b。内部のweb.config名前空間セクションに追加します 例えば
<add namespace="UrWeb.Helpers"/>
所属していません StackOverflow