tag net mvc component asp c# asp.net-mvc

c# - component - Atributos hthenated html con asp.net mvc



forms asp net core (2)

La respuesta proporcionada en ActionLink htmlAttributes sugiere el uso de guiones bajos en lugar de guiones. Se supone que MVC.Net debe emitir guiones en lugar de los guiones bajos al enviar la página al navegador.

¿Hay una sintaxis más agradable al crear elementos con atributos con guiones en lugar de usar:

<%= 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 WIA ARIA , parece que los guiones en los atributos de HTML se planean para ser más comunes como un tipo de espaciado de nombre simple.

Por ejemplo, el HTML 5 propone atributos personalizados con el prefijo de data- y WIA ARIA usa 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?


Use un guión bajo en el nombre del atributo de datos, y mágicamente lo manejará por usted, convirtiéndolo en un guión. Sabe que desea un guión en lugar de un guión bajo porque los guiones bajos no son válidos en los nombres de atributos html.

<%= Html.TextBox("name", value, new { @data_foo = "bar"}) %>