在创建具有带连字符属性的元素而不是使用以下元素时,是否存在更好的语法:
<%= Html.TextBox ("name", value, new Dictionary<string, object> { {"data-foo", "bar"} }) %>
查看提议的标准HTML 5和WIA ARIA的HTML规范,似乎HTML属性中的连字符正计划通过某种简单的名称间距变得更加普遍。
例如,HTML 5提出自定义属性带有前缀,data-
并且WIA ARIA aria-
对所有WIA ARIA属性使用前缀。
在ASP.NET MVC中使用HTML帮助程序时,例如<%= Html.TextBox("name", value, new { attribute = attributeValue }) %>
将匿名对象转换为字典。
不幸的是,在C#中,名称中不支持连字符,因此唯一的选择是创建字典。它的语法非常冗长,有没有人看到一种更好的替代方法或一种简单的方法来更改ASP.NET MVC的HTML扩展功能而不必重新编写整个扩展?