Domanda

Sto cercando di creare un'estensione HtmlHelper in ASP.NET MVC RC2. Questo codice ha funzionato bene in Anteprima 5, ma non funziona più in RC2 e sto cercando di capire il perché. Ecco il codice:

public static string EmptyDropDownList(this HtmlHelper htmlHelper, string name, object htmlAttributes)
{
    return htmlHelper.DropDownList(name, new SelectList(new string[0]), htmlAttributes);
}

Il problema è che non riesco ad accedere a tutti i metodi su htmlHelper dall'interno del metodo di estensione. Pertanto, htmlHelper.DropDownList non può essere trovato.

Qualche suggerimento?

È stato utile?

Soluzione

Devi includere lo spazio dei nomi System.Web.Mvc.Html poiché la maggior parte dei metodi HtmlHelper sono in realtà estensioni definite nelle classi in quello spazio dei nomi.

Puoi trovare RC1 (e, presumibilmente, presto anche il codice sorgente RC2) su www.codeplex. com / aspnet . Fai clic sulla scheda del codice sorgente e scorri verso il basso fino all'albero del codice sorgente MVC.

Altri suggerimenti

Due scelte:

a. Aggiungi alla pagina con " Utilizzo di " quindi con la pagina di visualizzazione del rasoio (mvc 3 e mvc 4)    per esempio.

    @using UrWeb.Helpers

o

b. Aggiungi alla sezione degli spazi dei nomi web.config interna    per esempio.

    <add namespace="UrWeb.Helpers"/>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top