Acessando métodos HTMLHelper no método de extensão HTMLHelper - ASP.NET MVC RC2
-
19-08-2019 - |
Pergunta
Estou tentando construir uma extensão HTMLHELPER no ASP.NET MVC RC2. Esse código funcionou bem na visualização 5, mas não funciona mais no RC2 e estou tentando entender o porquê. Aqui está o código:
public static string EmptyDropDownList(this HtmlHelper htmlHelper, string name, object htmlAttributes)
{
return htmlHelper.DropDownList(name, new SelectList(new string[0]), htmlAttributes);
}
O problema é que não consigo acessar todos os métodos no Htmlhelper a partir do método de extensão. Assim, htmlhelper.DropdownList não pode ser encontrado.
Alguma sugestão?
Solução
Você precisa incluir o espaço de nome System.web.mvc.html, pois a maioria dos métodos HTMLHelper é realmente extensões definidas nas classes nesse espaço para nome.
Você pode encontrar o RC1 (e, presumivelmente, em breve o código -fonte do RC2 também) em www.codeplex.com/aspnet. Clique na guia Código -fonte e navegue até a árvore do código -fonte do MVC.
Outras dicas
Duas opções:
uma. Adicionar à página com "Usando" Assim com a página de visualização Razor (MVC 3 e MVC 4), por exemplo,
@using UrWeb.Helpers
OU
b. Adicione à seção de namespaces da Web.Config, por exemplo,
<add namespace="UrWeb.Helpers"/>