2011-01-30 38 views
221

Làm cách nào để thêm các thuộc tính html data-* bằng cách sử dụng TextboxFor?Dữ liệu Html5- * với asp.net mvc TextboxĐối với thuộc tính html

Đây là những gì tôi hiện có:

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

Như bạn thấy, các - đang gây ra một vấn đề ở đây data-url. Whats cách này?

+0

thể trùng lặp của [html hyphenated thuộc tính với asp.net MVC] (http://stackoverflow.com/questions/2897733/hyphenated-html-attributes-with-asp-net-mvc) –

Trả lời

373

Bạn có thể sử dụng dấu gạch dưới (_) và helper là đủ thông minh để làm phần còn lại:

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

Và đối với những ai muốn đạt được như vậy ở trước 3 phiên bản ASP.NET MVC họ có thể:

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

là hành vi này quy định bất cứ nơi nào :)? – Rookian

+0

@Rookian, tôi không có ý tưởng nếu nó được chỉ định bất cứ nơi nào. Tôi đoán một số bài đăng trên blog trên internet be đang nói về nó. –

+0

Không hoạt động cho 'EditorFor' – Ryan

Các vấn đề liên quan