2010-01-14 5 views
0

Je suis nouveau sur asp.net mvc et je viens d'apprendre les bases en ce moment.asp.net mvc - plusieurs composants de databound sur une page

Je me demandais comment les pages avec des éléments de base de données muliple fonctionneraient avec les vues mvc. Par exemple, disons qu'il y a une page qui répertorie un tas d '"articles de nouvelles" d'un tableau "ActualitésArticles". et sur le côté de la page il y a une autre liste qui contient une liste de "CaseStudies" par exemple.

alors comment cela serait-il réalisé en mvc?

Répondre

1

Vous souhaitez créer votre propre classe de modèle de vue:

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

Retour comme modèle dans votre action:

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

Ensuite, vous pouvez utiliser une vue fortement typé de type ViewPage<MyPageViewModel>, et les sortir comme ceci:

<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

Une option serait de spécifier le ViewData dans la méthode d'action:

ViewData["NewsArticles"] = GetNewsAticles(); 
ViewData["CaseStudies"] = GetCaseStudies(); 
Questions connexes