モデル オブジェクトPerson
と別のオブジェクトがありComment
、同じビューで人物の詳細とその人物に追加されたコメントを表示したい場合は、「データ転送オブジェクト」または「ビューオブジェクト」。だから、私は単純なクラスを作成します:
public class PersonDetailDTO
{
public Person PersonDetail {get; set;}
public IList<Comment> Comments {get; set;}
}
PersonDetailDTO
.. これで、アクションの結果を say ではなく型として返すことができますPerson
。次に、ビューも強く型付けされPersonDetailDTO
ているため、PersonDetail データと Comments コレクションに簡単にアクセスできます。
たとえば、部分ビューの 1 つに次のようなビュー オブジェクトを使用します。
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)