Accès aux méthodes HtmlHelper dans la méthode d’extension HtmlHelper - ASP.NET MVC RC2
-
19-08-2019 - |
Question
J'essaie de créer une extension HtmlHelper dans ASP.NET MVC RC2. Ce code a bien fonctionné dans Preview 5, mais ne fonctionne plus dans RC2 et j'essaie de comprendre pourquoi. Voici le code:
public static string EmptyDropDownList(this HtmlHelper htmlHelper, string name, object htmlAttributes)
{
return htmlHelper.DropDownList(name, new SelectList(new string[0]), htmlAttributes);
}
Le problème est que je ne parviens pas à accéder à toutes les méthodes sur htmlHelper à partir de la méthode d'extension. HtmlHelper.DropDownList est donc introuvable.
Des suggestions?
La solution
Vous devez inclure l'espace de noms System.Web.Mvc.Html car la plupart des méthodes HtmlHelper sont en réalité des extensions définies dans les classes de cet espace de noms.
Vous pouvez trouver la RC1 (et vraisemblablement bientôt, le code source de la RC2 également) à l'adresse www.codeplex. com / aspnet . Cliquez sur l'onglet du code source et accédez à l'arborescence du code source de MVC.
Autres conseils
Deux choix:
a. Ajouter à la page avec " Utilisation de " donc avec la page de vue rasoir (MVC 3 et MVC 4) par exemple.
@using UrWeb.Helpers
OU
b. Ajouter à la section des espaces de noms internes web.config par exemple.
<add namespace="UrWeb.Helpers"/>