¿Existe una sintaxis más agradable al crear elementos con atributos con guiones en lugar de utilizar:html con guión atributos con asp.net mvc
<%= Html.TextBox ("name", value, new Dictionary<string, object> { {"data-foo", "bar"} }) %>
En cuanto a las especificaciones de HTML para los estándares propuestos HTML 5 y que WIA ARIA parece que los guiones en los atributos de HTML se planean para ser más comunes como algún tipo de espaciado de nombre simple.
E.g. HTML 5 propone atributos personalizados con el prefijo data-
y WIA ARIA utiliza el prefijo aria-
para todos los atributos de WIA ARIA.
Al usar ayudantes de HTML en ASP.NET MVC como <%= Html.TextBox("name", value, new { attribute = attributeValue }) %>
, el objeto anónimo se convierte a un diccionario.
Desafortunadamente en C# no hay soporte para guiones en los nombres, por lo que la única alternativa es crear un diccionario. La sintaxis para la cual es muy detallada, ¿alguien ha visto una alternativa más agradable o una forma simple de alterar la funcionalidad de las extensiones HTML de ASP.NET MVC sin tener que volver a escribir la extensión completa?
+1 Acabo de salvarme de escribir un código realmente feo. ¡Gracias! –
Encontré un problema similar en varias preguntas de SO, y esta es la mejor respuesta. – user2780436
¿Podría agregar el motivo de su extracto? ** los guiones bajos no son válidos en los atributos html **. Al menos [estados de html 4.01] (http://www.w3.org/TR/html401/intro/sgmltut.html#didx-attribute): _El valor del atributo solo puede contener letras (az y AZ), dígitos (0- 9), guiones (ASCII decimal 45), puntos (ASCII decimal 46), guiones bajos (ASCII decimal 95) y dos puntos (ASCII decimal 58) _, – surfmuggle