asp.net mvc - несколько компонентов с привязкой к данным на странице - PullRequest
0 голосов
/ 14 января 2010

Я новичок в asp.net mvc и только сейчас изучаю основы.

Мне интересно, как страницы с несколькими элементами данных будут работать с представлениями mvc.

например, скажем, есть страница, которая перечисляет кучу "новостных статей" из таблицы "NewsArticles". и в боковой части страницы есть другой список, который содержит, например, список «CaseStudies».

тогда как это будет достигнуто в MVC?

Ответы [ 2 ]

1 голос
/ 14 января 2010

Вы бы создали свой собственный класс модели вида:

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 голосов
/ 14 января 2010

Один из вариантов - указать ViewData в методе действия:

ViewData["NewsArticles"] = GetNewsAticles();
ViewData["CaseStudies"] = GetCaseStudies();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...