Доступ к методам HtmlHelper в методе расширения HtmlHelper - ASP.NET MVC RC2 - PullRequest
4 голосов
/ 17 марта 2009

Я пытаюсь создать расширение HtmlHelper в ASP.NET MVC RC2. Этот код отлично работал в 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 не может быть найден.

Есть предложения?

Ответы [ 2 ]

11 голосов
/ 17 марта 2009

Вам необходимо включить пространство имен System.Web.Mvc.Html, поскольку большинство методов HtmlHelper действительно являются расширениями, определенными в классах этого пространства имен.

Вы можете найти RC1 (и, вероятно, скоро и исходный код RC2) по адресу www.codeplex.com / aspnet . Нажмите на вкладку исходного кода и перейдите к дереву исходного кода MVC.

0 голосов
/ 14 февраля 2012

Два варианта:

а. Добавить на страницу с помощью «Использование», таким образом, с бритвой просмотра страницы (MVC 3 и MVC 4) например

    @using UrWeb.Helpers

OR

б. Добавить во внутренний раздел пространства имен web.config например

    <add namespace="UrWeb.Helpers"/>
...