Czy istnieje ładniejsza składnia podczas tworzenia elementów z atrybutami dzielonymi zamiast używania:
<%= Html.TextBox ("name", value, new Dictionary<string, object> { {"data-foo", "bar"} }) %>
Patrząc na specyfikacje HTML dla proponowanych standardów HTML 5 i WIA ARIA , wydaje się, że myślniki w atrybutach HTML są planowane jako bardziej powszechne jako pewnego rodzaju proste odstępy między nazwami.
Np. HTML 5 proponuje, aby atrybuty niestandardowe były poprzedzone prefiksem, data-
a WIA ARIA używa aria-
przedrostka dla wszystkich atrybutów WIA ARIA.
W przypadku korzystania z pomocników HTML w ASP.NET MVC, takich jak <%= Html.TextBox("name", value, new { attribute = attributeValue }) %>
obiekt anonimowy, jest konwertowany na słownik.
Niestety w C # nie ma obsługi łączników w nazwach, więc jedyną alternatywą jest utworzenie słownika. Składnia, dla której jest bardzo rozwlekła, czy ktoś widział lepszą alternatywę lub prosty sposób na zmianę funkcjonalności rozszerzeń HTML ASP.NET MVC bez konieczności ponownego pisania całego rozszerzenia?
źródło
Odpowiedź podana w ActionLink htmlAttributes sugeruje użycie podkreślenia zamiast łączników. MVC.Net ma emitować łączniki zamiast podkreśleń podczas wysyłania strony do przeglądarki.
źródło