Gibt es eine schönere Syntax beim Erstellen von Elementen mit getrennten Attributen, anstatt Folgendes zu verwenden:
<%= Html.TextBox ("name", value, new Dictionary<string, object> { {"data-foo", "bar"} }) %>
Wenn man sich die HTML-Spezifikationen für die vorgeschlagenen Standards HTML 5 und WIA ARIA ansieht , scheint es, dass Bindestriche in HTML-Attributen häufiger als eine Art einfacher Namensabstand geplant sind.
Beispielsweise schlägt HTML 5 vor, dass benutzerdefinierten Attributen ein Präfix vorangestellt wird data-
und WIA ARIA das aria-
Präfix für alle WIA ARIA-Attribute verwendet.
Bei Verwendung von HTML-Hilfsprogrammen in ASP.NET MVC wird beispielsweise <%= Html.TextBox("name", value, new { attribute = attributeValue }) %>
das anonyme Objekt in ein Wörterbuch konvertiert.
Leider werden in C # keine Bindestriche in Namen unterstützt, daher besteht die einzige Alternative darin, ein Wörterbuch zu erstellen. Hat jemand eine schönere Alternative oder eine einfache Möglichkeit gesehen, die Funktionalität der HTML-Erweiterungen von ASP.NET MVC zu ändern, ohne die gesamte Erweiterung neu schreiben zu müssen?
quelle
Die Antwort bei ActionLink htmlAttributes schlägt vor, Unterstriche anstelle von Bindestrichen zu verwenden. MVC.Net soll beim Senden der Seite an den Browser Bindestriche anstelle der Unterstriche ausgeben.
quelle