Есть ли лучший синтаксис при создании элементов с дефисными атрибутами вместо использования:
<%= Html.TextBox ("name", value, new Dictionary<string, object> { {"data-foo", "bar"} }) %>
Глядя на спецификации HTML для предлагаемых стандартов HTML 5 и WIA ARIA , кажется, что дефисы в атрибутах HTML планируются, чтобы быть более распространенными, как своего рода простой интервал имен.
например. HTML 5 предлагает настраиваемые атрибуты с префиксом data-
, а WIA ARIA использует префикс aria-
для всех атрибутов WIA ARIA.
При использовании HTML-помощников в ASP.NET MVC, таких как <%= Html.TextBox("name", value, new { attribute = attributeValue }) %>
, анонимный объект преобразуется в словарь.
К сожалению, в C # нет поддержки дефисов в именах, поэтому единственной альтернативой является создание словаря. Синтаксис для которого очень многословен, кто-нибудь видел более приятную альтернативу или простой способ изменить функциональность HTML-расширений ASP.NET MVC без необходимости переписывать все расширение?