Wenn ein Htmlhelper-Erweiterung zu schreiben, wenn ich die ähnlich strukturierte ctors für meine Htmlhelper-Erweiterungsmethode unterstützen wollen, verwende ich RouteValueDictionary
wie folgt:Htmlhelper Methoden und Routevaluedictionary
public static string ListBoxDict(this HtmlHelper htmlHelper,
string name,
object value,
object htmlAttributes)
{
return ListBoxDict(htmlHelper,
name,
value,
((IDictionary<string, object>)
new RouteValueDictionary(htmlAttributes)));
}
Meine Frage ist wirklich, warum die Notwendigkeit für RouteValueDictionary
. .. Ich weiß, dass Sie nicht einfach die htmlAttributes
zu IDictionary<string, object>
casten können ... obwohl ich nicht sicher bin, warum und das könnte sein, wo ich verwirrt bin. Sollte nicht RouteValueDictionary
mit Routing zu tun haben und daher nichts mit HtmlHelper-Methoden zu tun haben? Wie ich schon sagte, ich verpasse wahrscheinlich den Punkt, also wäre ich froh, wenn mir jemand sagen könnte, was ich verpasst habe.
Prost ...
edit: als Antwort Antwort auf Dans ->
Ich war gerade nach dem, was ich in dem Einsatz in der mvc Quellcode für die Eingabe Helfer ...
gesehen hatte- siehe "
src\SystemWebMvc\Mvc\Html\InputExtensions.cs
"
Es ist wie folgt:
public static string TextBox(this HtmlHelper htmlHelper,
string name,
object value,
object htmlAttributes)
{
return TextBox(htmlHelper,
name,
value,
new RouteValueDictionary(htmlAttributes))
}
Klar eine Abkürzung, aber ist es eine Bastardisierung oder ist es in Ordnung, es zu tun?
Danke Dan, das sieht interessant aus und ich werde einen Blick darauf werfen. Ich habe meine Frage bearbeitet, weil ich nicht gesagt hatte, dass ich dem folgte, was bereits im mvc-Framework-Helfer –
Huh war. Ich war wieder auf der Suche nach einem anderen Projekt und habe meine eigene Antwort gefunden! Was für ein Glück! –
+1 Danke, half mir auf ein Projekt ... – xandercoded