WebGrid 헬퍼를 사용하여 렌더링 된 테이블에 사용자 정의 HTML5 데이터 속성을 추가하는 동안 문제가 발생합니다. 여기 MVC3을 사용하여 html 속성 이름에 하이픈 추가 WebGrid 헬퍼
<table data-test="testdata"><!-- Table Content --></table>
는 면도기보기 엔진을 사용하여 샘플이다 : 다음과 같이 나는 테이블 태그보고 싶다 ". 잘못된 익명 형식 멤버 선언자"
이
@{
var myUser = new
{
Id = 1,
Name = "Test User"
};
var users = new[] { myUser };
var grid = new WebGrid(users);
}
@grid.GetHtml(htmlAttributes: new { data-test = "testdata"})
마지막 줄이 생성됩니다 오류는 데이터 테스트의 하이픈 때문에 발생합니다.
다른 입력 HtmlHelpers 중 일부는 하이픈 대신 밑줄을 사용할 수 있으며 렌더링 될 때 자동으로 하이픈으로 변경됩니다. 이것은 WebGrid에서 발생하지 않습니다.
내가 htmlAttributes에 대한 사전에 전달하는 경우 :
@grid.GetHtml(htmlAttributes: new Dictionary<string, object> {{ "data-test", "testdata"}})
테이블이 같은 렌더링됩니다 :
<table Comparer="System.Collections.Generic.GenericEqualityComparer`1[System.String]" Count="1" Keys="System.Collections.Generic.Dictionary`2+KeyCollection[System.String,System.Object]" Values="System.Collections.Generic.Dictionary`2+ValueCollection[System.String,System.Object]"><!-- Table Content --></table>
내가 잘못 뭐하는 거지 내가 원하는대로 속성을 렌더링 무엇을해야합니까?
속성 이름의'@'를 쓰면 어떻게 될까요? 'class'가 특별하기 때문에'@ class'를 입력해야하는 클래스의 속성을 추가하려면이 속성이 특수 속성에도 적용됩니까? –
앞에 @를 넣는 것은 거기에없는 것과 같은 행동입니다. –