我有一个从BlogResponseModel填充的博客,每个博客条目的相关评论都保存在列表中。它看起来像这样:
public class BlogResponseModel
{
public int Id { get; set; }
public DateTime SubmissionDate { get; set; }
public string Title { get; set; }
public string ImageID { get; set; }
public string ImageAttribution { get; set; }
public string Body { get; set; }
public List<BlogCommentModel> CommentList { get; set; }
}
收集评论,每条评论都与上面的Id元素相关。 BlogCommentModel看起来像这样:
public class BlogCommentModel
{
public int CommentId { get; set; }
public int CommentCount { get; set; }
public DateTime CommentDate { get; set; }
public string Commenter { get; set; }
public string CommenterEmail { get; set; }
public string Comment { get; set; }
public int BlogParentId { get; set; }
}
在我看来,我使用foreach格式化并显示每个Blog条目,这非常有用。我在哪里找到了如何将相关评论嵌入每篇博客文章的脚下。
以下是View中的当前尝试,让我难过。我做了一个foreach来呈现Blog帖子......
@foreach (var response in Model)
{
// enter all the Blog specifics here...
此时,将呈现博客条目,我们准备添加评论:
<div class="message row">
<div>
<H5>Comments</H5>
</div>
@foreach (var comment in ?? WHAT ?? (how do I access BlogResponseModel)
{
<div class="replies span12">
<div class="reply">
<div class="created pull-right">
@comment.CommentDate
</div>
<div class="created">
@comment.Commenter
</div>
<div>
@comment.Comment
</div>
</div>
</div>
}
</div>
如何填充BlogResponseModel中的List CommentList中的注释?
提前感谢您的建议。我是MVC的新手,仍然围绕着这个架构。
答案 0 :(得分:0)
您可以添加
public virtual ICollection<BlogCommentModel> CommentList { get; set; }
而不是
public List<BlogCommentModel> CommentList { get; set; }
然后在视图中
@foreach (var item in Model)
{
@Html.DisplayFor(modelItem => item.Title)
@foreach (var myBlogCommentModel in @item.BlogCommentModel)
{
@myBlogCommentModel.Commenter
@myBlogCommentModel.CommenterEmail
}
}
我希望这会有所帮助。