asp.net-mvc html5

asp.net mvc - ¿Hay alguna manera de crear un ActionLink con atributos de datos HTML 5?



asp.net-mvc html5 (2)

Sí, hay una sobrecarga para el método ActionLink que toma un IDictionary<string,object> lugar de un objeto anónimo.

<%=Html.ActionLink("text", "Index", "Home", null /*routeValues*/, new Dictionary<string, object> { { "data-customattribute", "value" }, { "data-another", "another-value" } })%>

Productos:

<a data-another="another-value" data-customattribute="value" href="/">text</a>

HTML5 permite el uso de atributos personalizados con el prefijo "data-" que pasa la validación sin el uso de una DTD personalizada ( más información ). En Asp.Net MVC, ¿hay alguna forma de especificar un ActionLink con un atributo de datos?

El método típico para agregar atributos a un ActionLink es pasar un objeto anónimo, con una propiedad personalizada para cada objeto:

new { customattribute="value" }

Lo que me gustaría hacer es:

new { data-customattribute="value" }

Pero esto no funciona, porque el carácter de guión no es válido en los nombres de propiedad. ¿Hay alguna forma de evitar esta restricción? ¿O simplemente tengo que elegir entre usar ActionLinks y usar data-attributes?


o puedes usar

new { data_customattribute="value" }

y el compilador es lo suficientemente inteligente como para saber a qué te refieres