ASP.NET MVC2 - модель Связывание нескольких источников данных на одной странице просмотра - Параметры? - PullRequest
2 голосов
/ 23 февраля 2011

У меня есть одна страница просмотра (MyView.aspx) и много источников данных для привязки на этой странице.

Допустим, есть книги, издательства, комментарии и т. Д.

У каждого из них есть объект, который предоставляет список, список и т. Д.

С моей точки зрения, каковы мои предпочтения для многопользовательской модели?

Я хочу проверить, является ли каждый из них пустым, а затем перечислить его. Но я не могу проверить Model.Count (), потому что Model не будет сделан из всех этих объектов, если я установлю страницу inheriet из?

Какие у меня варианты? Должен ли я загружать каждую область содержимого в режиме контроля / частичного просмотра?

Или я могу просто сбросить каждый объект в ViewData, а затем проверить счет, приведя его в представление?

Большое спасибо за то, что взглянули на мою проблему.

Ответы [ 2 ]

6 голосов
/ 23 февраля 2011

Рассматривали ли вы использование ViewModel, которая содержит все списки всех ваших различных полей данных, и использование этого для заполнения вашего View?

Пример:

ViewModel:

public class MyViewModel
{
   List<Book> Books {get; set;}
   List<Publisher> Publishers {get; set;}
   List<Comment> Comments {get; set;}
   //Other fields...

   //Constructors...
}

Тогда в вашем представлении вы могли бы просто проверить, является ли определенное поле пустым, прежде чем перечислять его:

Вид:

if(Model.Books.Count() != 0)
{
   //Enumerate through results here
}
0 голосов
/ 23 февраля 2011

Rionmonster, вероятно, является лучшим решением - другое - использовать строго типизированные частичные представления.Вы можете загрузить все в данные представления, а затем внедрить каждый сегмент в соответствующее частичное представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...