Доступ к методам HtmlHelper в рамках метода расширения HtmlHelper - ASP.NET MVC RC2
-
19-08-2019 - |
Вопрос
Я пытаюсь создать расширение 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"/>