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