Accesso ai metodi HtmlHelper all'interno del metodo di estensione HtmlHelper - ASP.NET MVC RC2
-
19-08-2019 - |
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?
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"/>