asp.net mvc2를 사용하여 웹 개발을 시작했습니다. 내보기에 데이터 컬렉션을 표시하는 방법을 찾으려고합니다. 다음은 콜렉션을 html 테이블로 표시하는 매우 간단한보기 마크 업입니다.asp.net mvc 헤더가있는 테이블에 컬렉션 표시
제 질문은 컬렉션에서 테이블을 만들 때 사람들이 일반적으로하는 일입니다. 열 헤더를 처리하는 방법은 무엇입니까? 모든 개체의 속성에 "DisplayName"특성이 있으며 테이블의 열 머리글로 사용하려고합니다. 당신은 라벨 태그 내에 MyProp1의 표시 이름을 표시하려면
<%: Html.LabelFor(x => x.MyProp1) %>
을 사용할 수 있습니다
덕분에,
<table>
<thead>
<tr>
<th>???</th>
<th>???</th>
<th>???</th>
<th>???</th>
<th>???</th>
</tr>
</thead>
<tbody>
<%
foreach(var item in Model)
{
%>
<tr>
<td><%= Html.Encode(item.MyProp1)%></td>
<td><%= Html.Encode(item.MyProp2)%></td>
<td><%= Html.Encode(item.MyProp3)%></td>
<td><%= Html.Encode(item.MyProp4)%></td>
<td><%= Html.Encode(item.MyProp5)%></td>
</tr>
<%
}
%>
</tbody>
</table>
다음과 같은
public class MyClass
{
[DisplayName("Dif Prop 1")]
[DataMember]
public string MyProp1{ get; set; }
[DisplayName("Dif Prop 2")]
[DataMember]
public string MyProp2{ get; set; }
[DisplayName("Dif Prop 3")]
[DataMember]
public string MyProp3{ get; set; }
[DisplayName("Dif Prop 4")]
[DataMember]
public string MyProp4{ get; set; }
[DisplayName("Dif Prop 5")]
[DataMember]
public string MyProp5{ get; set; }
}
LabelFor의 문제점은 레이블 헤더를 래핑하는 것이고, 이는 테이블 헤더에서 원하는 것이 아닙니다. –