4

ASP.NET MVC RC2 で HtmlHelper 拡張機能を構築しようとしています。このコードは Preview 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 が見つかりません。

助言がありますか?

4

2 に答える 2

11

System.Web.Mvc.Html 名前空間を含める必要があります。これは、ほとんどの HtmlHelper メソッドが実際にはその名前空間のクラスで定義された拡張であるためです。

RC1 は (おそらくすぐに RC2 のソース コードも) www.codeplex.com/aspnetで見つけることができます。ソース コード タブをクリックし、MVC ソース コード ツリーに移動します。

于 2009-03-16T21:35:43.093 に答える
0

2 つの選択肢:

を。「使用中」のページに追加して、かみそりビューページ(mvc 3およびmvc 4)を使用します。

    @using UrWeb.Helpers

また

b. 内側の web.config 名前空間セクションに追加します。

    <add namespace="UrWeb.Helpers"/>
于 2012-02-13T23:24:49.063 に答える