web-dev-qa-db-ja.com

Html5 data- * asp.net mvc TextboxFor html属性

TextboxForを使用してdata-* html属性を追加するにはどうすればよいですか?

これは私が現在持っているものです:

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

ご覧のとおり、-が問題を引き起こしていますdata-url。これを回避する方法は何ですか?

236
Shawn Mclean

アンダースコア(_)を使用でき、ヘルパーは残りの作業を行うのに十分なインテリジェントです。

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

ASP.NET MVC 3以前のバージョンで同じことを達成したい人のために:

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