HtmlHelper Methoden und RouteValueDictionary
Beim schreiben einer htmlhelper-Erweiterung, wenn ich will, zu unterstützen, die ähnlich strukturierten ctors für meine htmlhelper-Erweiterung Methode, die ich verwenden RouteValueDictionary
wie folgt:
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ß, Sie können nicht nur werfen die htmlAttributes
zu IDictionary<string, object>
... aber ich bin nicht sicher, warum, und das mag sein, wo ich bin verwirrt. Sollte nicht RouteValueDictionary
werden mit Routing zu tun und daher auch nichts zu tun mit HtmlHelper Methoden? Wie gesagt, ich bin wahrscheinlich fehlt der Punkt, so würde ich mich freuen wenn jemand mir sagen könnte, was ich verpasst habe.
Cheers...
edit: in Antwort auf Dan ' s Antwort -->
War ich einfach nach, was ich gesehen hatte, die in den mvc-source-code für Eingabe-Helfer...
- siehe "
src\SystemWebMvc\Mvc\Html\InputExtensions.cs
"
Tut es wie folgt:
public static string TextBox(this HtmlHelper htmlHelper,
string name,
object value,
object htmlAttributes)
{
return TextBox(htmlHelper,
name,
value,
new RouteValueDictionary(htmlAttributes))
}
Eindeutig eine Verknüpfung aber ist es eine bastardisierung oder ist es ok, es zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde dringend empfehlen, sich bei Rob Conery ist blog-post über so etwas wie dieses.
Fleisch und Gemüse ist es diese:
Codedump:
Verwendung:
Was
.ToAttributeList()
macht ist, konvertieren Sie Ihre htmlAttribute ObjektHoffe, das macht Sinn.