HTML5 data- * with asp.net mvc TextboxFor HTML 속성


244

data-*TextboxFor를 사용하여 HTML 속성을 어떻게 추가 합니까?

이것이 내가 현재 가지고있는 것입니다 :

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

보시다시피 -여기서 문제가 발생했습니다 data-url. 이 문제를 해결하는 방법은 무엇입니까?


답변:


417

밑줄 ( _)을 사용할 수 있으며 도우미는 나머지를 수행 할 수있을 정도로 지능적입니다.

@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") } 
    }
) %>

8
이 동작은 어디에나 지정되어 있습니까 :)?
Rookian

5
@Ryan, 아니요 작동하지 않는 것이 아니기 때문에 아닙니다 EditorFor. EditorFor 도우미는 주어진 유형에 해당하는 사용자 정의 HTML 템플리트를 렌더링하는 데 사용됩니다. 템플릿에는 많은 요소가 포함될 수 있으므로 템플릿의 속성에 대해 말하는 것은 실제로 의미가 없습니다. 물론 additionalViewData편집기 템플릿에 전달 될 수있는 매개 변수 와 함께 작동하는 사용자 정의 템플릿을 작성 하여 해당 입력 필드에 속성으로 간단히 출력 할 수 있습니다.
Darin Dimitrov

2
결과 마크 업을 명확하게하기 위해 하이픈이 아닌 밑줄이 있습니다. "밑줄 (_)을 사용할 수 있고 도우미는 나머지를 수행 할 수있을 정도로 지능적입니다"라는 문장, 특히 추측 된 지능에 대한 비트가 자동으로 변환 될 것이라고 믿었습니다. 그러나 그렇지 않습니다. HTML5는-를 지원합니다.
Alan Macdonald

2
@AlanMacdonald는 MVC의 이전 (중간) 버전으로 _변환됩니다 -. 최신 버전이 떨어졌을 수도 있지만 MVC 3 및 ​​4에서 성공적으로 사용하고 있습니다.
brichins

4
@AlanMacdonald (및 기타 독서) 는 MVC 5에서도 _변환됩니다 -. MVC 5를 사용하는 현재 작업중인 프로젝트에서 성공적으로 사용하고 있습니다.
Amy Barrett
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.