2010-01-29 2 views
1

ASP.NET MVC 및 .NET에 익숙하지 않으므로 간단한 질문이 있습니다. 웹 페이지에 객체 목록을 표시하고 싶습니다. 어떻게해야할까요?ASP.NET MVC에서 테이블의 개체 목록을 표시하는 방법은 무엇입니까?

모델은 지금까지 다음과 같습니다 :

public class NoticeBoard 
{ 
    public List<Notice> Notices; 

    public NoticeBoard() 
    { 
     Notices = new List<Notice>(); 
    } 
} 

public class Notice 
{ 
    public int ID; 
    public DateTime StartDate; 
    public DateTime EndDate; 
    public String Content; 
} 

진짜 단순 컨트롤러는 공지 사항의 목록을 포함하는 noticeboard에 객체를 생성하고,보기의주의 사항을 표시해야합니다.

GridView, DataList, DetailsView, ListView와 같은 컨트롤이 있습니다. 이 사건과 사건의 차이점은 무엇입니까?

답변

2

나열된 컨트롤 중 MVC에 적합한 컨트롤은 없습니다. 그 모든 ASP.Net WebControls, "고전적인 ASP.Net"webforms 응용 프로그램과 함께 사용하기위한 것입니다. ViewState 및 기타 페이지 수명주기 메커니즘을 사용하여 올바르게 작동하며 일반적으로 MVC 프로젝트에서 작동하지 않습니다.

ASP.Net MVC를 사용하는 경우 webcontrols를 사용하는 대신 원시 형식으로 HTML을 처리합니다. 항목의 목록을 생성보기에 다음과 같은 코드를 추가하려면 :

<% foreach(var notice in Model.Notices) { %> 

    <tr> 
    <td><%= notice.StartDate.ToString() %></td> 
    <td><%= notice.EndDate.ToString() %></td> 
    <td><%= notice.Content %></td> 
    </tr> 

<% } %> 

당신이 Html 헬퍼로 작성 고려, 당신은 당신의 뷰와 HTML을 생성하기 위해 같은 코드를 사용하고있는 것을 발견하면 확장 방법.

+1

각진 대괄호 등을 올바르게 표시하고 스크립트 삽입을 피하기 위해 <% = Html.Encode (notice.Content) %>를 권하고 싶습니다. –

관련 문제