Если у вас есть объект модели Person
, а другой, скажем, Comment
, а затем в том же представлении вы хотели бы отобразить сведения о людях и комментарии, добавленные к этому человеку, вы можете захотеть создать промежуточный объект, на который иногда ссылаются как «объект передачи данных» или «объект просмотра». Итак, я создаю простой класс:
public class PersonDetailDTO
{
public Person PersonDetail {get; set;}
public IList<Comment> Comments {get; set;}
}
.. теперь я могу вернуть результат моего действия как PersonDetailDTO
вместо Person
. Затем представление также строго типизируется до PersonDetailDTO
, что облегчает мне доступ к данным PersonDetail и коллекции комментариев.
Например, я использую такой вид объекта для одного из моих частичных видов:
public class AnnouncementsPartialViewData
{
public IList<Announcement> Announcements { get; set; }
public object MonthlyPlannerRouteVals { get; set; }
public object PreSchoolRouteVals { get; set; }
public object ElementaryRouteVals { get; set; }
}
.. и заголовок частичного вида выглядит так:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<KsisOnline.Web.Controllers.HomeController.IndexViewData.AnnouncementsPartialViewData>" %>
.. и поэтому я могу легко получить доступ к типизированным данным из этого класса представления в виде:
<% if (Model.Announcements.Count == 0)