web-dev-qa-db-fra.com

Html5 data- * with asp.net mvc Attributs TextboxFor pour HTML

Comment puis-je ajouter data-* attributs HTML utilisant TextboxFor?

C'est ce que j'ai actuellement:

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

Comme vous le voyez, le - cause un problème ici data-url. Quel est le chemin autour de ça?

236
Shawn Mclean

Vous pouvez utiliser un trait de soulignement (_) et l’assistant est suffisamment intelligent pour faire le reste:

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

Et pour ceux qui souhaitent obtenir la même chose dans les versions antérieures à ASP.NET MVC 3, ils pourraient:

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