Доступ к методам HtmlHelper в рамках метода расширения HtmlHelper - ASP.NET MVC RC2

StackOverflow https://stackoverflow.com/questions/652219

Вопрос

Я пытаюсь создать расширение 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 не может быть найден.

Есть какие-нибудь предложения?

Это было полезно?

Решение

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

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

Другие советы

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

a.Добавить на страницу с помощью "Using", таким образом, на странице просмотра razor (mvc 3 и mvc 4) например

    @using UrWeb.Helpers

или

b.Добавить во внутренние пространства имен web.config например

    <add namespace="UrWeb.Helpers"/>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top