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?

Foi útil?

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"/>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top