2010-01-14 3 views
0

Im new to asp.net mvc. 지금 당장 기본을 배우십시오.asp.net mvc - 페이지의 여러 데이터 바인딩 된 구성 요소

muliple 데이터 바인딩 된 항목이있는 페이지가 mvc보기에서 어떻게 작동하는지 궁금합니다.

예를 들어 "NewsArticles"표에서 여러 개의 "뉴스 기사"를 나열하는 페이지가 있다고 가정 해보십시오. 페이지의 측면에는 "CaseStudies"목록을 포함하는 다른 목록이 있습니다.

어떻게 mvc에서이를 달성 할 수 있습니까?

답변

1
당신은 당신의 자신의 뷰 모델 클래스 만들 것

: 액션에서 모델로

public MyPageViewModel 
{ 
    public IEnumerable<NewsArticles> Articles{get;set;} 
    public IEnumerable<CaseStudies> CaseStudies{get;set;} 
} 

반환을 :

public ActionResult MyPage() 
{ 
    var model = new MyPageViewModel(); 
    model.Articles = ArticleManager.GetArticles(); 
    model.CaseStudies = CaseStudyManager.GetCaseStudies(); 
    return View(model); 
} 

이 그런 유형 ViewPage<MyPageViewModel>의 강력한 형식의 뷰를 사용할 수 있습니다, 그리고 다음과 같이 출력하십시오 :

<ul> 
<% foreach(NewsArticle article in Model.Articles){%> 
<li><%=article.Title%></li> 
<%}%> 
</ul> 

<ul> 
<% foreach(CaseStudy caseStudy in Model.CaseStudies){%> 
<li><%=caseStudy.Title%></li> 
<%}%> 
</ul> 
0

하나의 옵션은 다음과 같이 ViewData를 지정하는 것입니다. 액션 메소드 :

ViewData["NewsArticles"] = GetNewsAticles(); 
ViewData["CaseStudies"] = GetCaseStudies(); 
관련 문제