Есть ли более приятный синтаксис при создании элементов с атрибутами через дефис вместо использования:
<%= 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 без необходимости переписывать все расширение?
источник
Ответ, представленный на ActionLink htmlAttributes, предлагает использовать подчеркивания вместо дефисов. MVC.Net должен выдавать дефисы вместо подчеркивания при отправке страницы в браузер.
источник