0

私はこれらの2つのモデルクラスを持っています:

 public class Article
    {
        public int ID { get; set; }
        public string Title { get; set; }
        public ICollection<Comment> Comments { get; set; }
    }
    public class Comment
    {
        public int ID { get; set; }
        public int ArticleID { get; set; }
        public string CommentTxt { get; set; }
        public Article Article { get; set; }
    }
    public class ArticleDbContext : DbContext
    {
        public DbSet<Article> Articles { get; set; }
        public DbSet<Comment> Comments { get; set; }
    }

記事に挿入されたすべてのコメントがリストされ、リストの下にその記事の新しいコメントを挿入できるページが必要ですか?

4

2 に答える 2

0

このためのビューモデルを作成できます:

public class ArticleViewModel
{ 
   public Article Article { get; set; }
   public List<Comment> Comments { get; set; }
}

コントローラーで:

public ActionResult Details(int id)
{
   ArticleViewModel model = new ArticleViewModel();

   model.Article = _yourDBRepository.GetArticleById(id);
   model.Comments = _yourDBRepository.LoadCommentsByArticleId(id);
   return View(model);
}

ビューでは、次のような新しいコメント アイテムを追加できます。

  @using (Html.BeginForm("Create", "Comment", FormMethod.Post))
    {
      @Html.Hidden("ArticleId", Model.Article.Id)
      @Html.TextBox("text", "", new { name = "text", id = "text", data_placeholder = "Enter comment" })
    }
于 2013-08-10T15:53:05.567 に答える