2011-01-30 27 views
221

¿Cómo agrego los atributos data-* html usando TextboxFor?Html5 datos- * con asp.net mvc TextboxPara atributos html

Esto es lo que tengo actualmente:

@Html.TextBoxFor(model => model.Country.CountryName, new { data-url= Url.Action("CountryContains", "Geo") }) 

Como se ve, la - está causando un problema aquí data-url. ¿Cuál es el camino alrededor de esto?

+0

posible duplicado de [html con guión atributos con asp.net mvc] (http://stackoverflow.com/questions/2897733/hyphenated-html-attributes-with-asp-net-mvc) –

Respuesta

373

Usted podría utilizar subrayado (_) y el ayudante es lo suficientemente inteligente como para hacer el resto:

@Html.TextBoxFor(
    model => model.Country.CountryName, 
    new { data_url = Url.Action("CountryContains", "Geo") } 
) 

Y para aquellos que quieren lograr lo mismo en pre ASP.NET MVC 3 versiones que podían:

<%= Html.TextBoxFor(
    model => model.Country.CountryName, 
    new Dictionary<string, object> { 
     { "data-url", Url.Action("CountryContains", "Geo") } 
    } 
) %> 
+6

¿este comportamiento especificado en cualquier sitio :) ? – Rookian

+0

@Rookian, no tengo idea si se especifica en alguna parte. Supongo que algunas publicaciones de blogs en Internet deberían estar hablando de eso. –

+0

No funciona para 'EditorFor' – Ryan

Cuestiones relacionadas