Zugreifen auf Htmlhelper Methoden innerhalb Htmlhelper Erweiterungsmethode - ASP.NET MVC RC2
-
19-08-2019 - |
Frage
Ich versuche, eine Htmlhelper Erweiterung in ASP.NET MVC RC2 zu bauen. Dieser Code hat gut funktioniert in der Vorschau 5, aber nicht mehr funktioniert in RC2 und ich versuche zu verstehen, warum. Hier ist der Code:
public static string EmptyDropDownList(this HtmlHelper htmlHelper, string name, object htmlAttributes)
{
return htmlHelper.DropDownList(name, new SelectList(new string[0]), htmlAttributes);
}
Das Problem ist, dass ich nicht in der Lage bin, alle Methoden für den Zugriff auf Htmlhelper aus der Erweiterungsmethode. So htmlHelper.DropDownList kann nicht gefunden werden.
Irgendwelche Vorschläge?
Lösung
Sie müssen den System.Web.Mvc.Html Namespace enthalten, da die meisten der Htmlhelper Methoden wirklich in Klassen in diesem Namespace definiert Erweiterungen sind.
Sie können die RC1 finden (und vermutlich bald das RC2-Quellcode, auch) unter www.codeplex. com / aspnet . Klicken Sie auf den Quellcode Registerkarte und navigieren Sie nach unten zum MVC-Quellcode Baum.
Andere Tipps
Zwei Möglichkeiten:
a. In der Seite mit „Verwendung“ so mit rasiermesserAnsichtsSeite (mvc 3 und mvc 4) z.B.
@using UrWeb.Helpers
oder
b. In dem inneren web.config Namespaces Abschnitt z.B.
<add namespace="UrWeb.Helpers"/>