2011-01-30 18 views
221

Jak dodać atrybuty html data-* używając TextboxFor?Dane html5 - * z ASP.NET mvc TextboxFor html atrybuty

To co obecnie mam:

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

Jak widać, - powoduje problem tutaj data-url. Co to oznacza?

+0

możliwe duplikat [łącznikiem atrybutów HTML z aSP.NET MVC] (http://stackoverflow.com/questions/2897733/hyphenated-html-attributes-with-asp-net-mvc) –

Odpowiedz

373

Można użyć podkreślenia (_) i pomocnik jest wystarczająco inteligentny, aby zrobić resztę:

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

A dla tych, którzy chcą osiągnąć to samo w pre ASP.NET MVC 3 wersjach mogli:

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

jest to zachowanie określonego gdziekolwiek :) ? – Rookian

+0

@Rookian, nie mam pojęcia, czy jest określony w dowolnym miejscu. Myślę, że niektóre posty na blogu w internecie powinny o tym mówić. –

+0

Nie działa dla 'EditorFor' – Ryan

Powiązane problemy