Czy istnieje ładniejsza składnia podczas tworzenia elementów z łączonymi atrybutami zamiast używania:
<%= Html.TextBox ("name", value, new Dictionary<string, object> { {"data-xyz", "abc"} }) %>
Patrząc na specyfikacje HTML dla proponowanych standardów HTML 5 i WIA ARIA, wydaje się, że łączniki w atrybutach HTML są bardziej powszechne jako pewnego rodzaju proste odstępy między nazwami. Na przykład. HTML 5 proponuje, aby niestandardowe atrybuty były poprzedzone danymi, a WIA ARIA używa przedrostka aria dla wszystkich atrybutów WIA ARIA.
Podczas korzystania z pomocników HTML w ASP.NET MVC, takich jak <% = Html.TextBox („name”, value, new {attribute = attributeValue})%>
anonimowy obiekt 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 jest bardzo szczegółowa, czy ktoś zna lepszą alternatywę lub prosty sposób zmiany funkcjonalności rozszerzeń HTML ASP.NET MVC bez konieczności ponownego pisania całego rozszerzenia?
Z góry dziękuję za pomoc
1 odpowiedź
Użyj podkreślenia w nazwie atrybutu danych, przekształcony zostanie w myślnik.
<%= Html.TextBox("name", value, new { @data_xyz = "abc"}) %>