Есть ли более хороший синтаксис при создании элементов с переносимыми атрибутами вместо использования:
<%= 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 }) %>
, анонимный объект преобразуется в словарь.
К сожалению, в С# нет поддержки дефисов в именах, поэтому единственной альтернативой является создание словаря. Синтаксис, для которого очень многословный, кто-нибудь видел лучшую альтернативу или простой способ изменения функциональности HTML-страниц ASP.NET MVC без необходимости переписывать все расширение?