如果你有一个模型对象Person
,另一个让我们说Comment
,然后在同一个视图中你想显示一个人的详细信息和添加到那个人的评论,你可能想要创建一个中间对象,有时称为“数据传输对象”或“查看对象'。所以,我创建了一个简单的类:
public class PersonDetailDTO
{
public Person PersonDetail {get; set;}
public IList<Comment> Comments {get; set;}
}
..现在我可以将我的操作结果作为类型PersonDetailDTO
而不是说返回Person
。然后视图也被强类型化PersonDetailDTO
,使我可以轻松访问 PersonDetail 数据和 Comments 集合。
例如,我将这样的视图对象用于我的部分视图之一:
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)