記事モデルとコメント モデルがあります。ArticleDetail ビューには、記事、記事へのコメント、および新しいコメントを作成するフォーミュラーが表示されます。
記事に新しいコメントを作成すると、記事と同じ ID になります。public ActionResult DisplayCreateComment(CommentModel comment, int articleID) では、CommentModel は記事と同じ ID を持っています。
したがって、投稿されたすべてのコメントは同じ ID を持つことになり、これは機能しません。コメントの ID が記事と同じなのはなぜですか? どうすれば解決できますか?
コメントモデル:
public class CommentModel
{
public int ID { get; set; }
public string Text { get; set; }
public DateTime DateTime { get; set; }
public Article Art { get; set; }
}
記事モデル:
public class ArticleModel
{
public int ID { get; set; }
public DateTime DateTime { get; set; }
public ICollection<CommentModel> Comments { get; set; }
public string Text { get; set; }
public string Title { get; set; }
...
}
記事の詳細ビュー:
...
@Html.Partial("DisplayComments", Model.Comments)
@Html.Action("DisplayCreateComment", "Home", new { articleID = Model.ID })
...
ホームコントローラー:
public ActionResult DisplayCreateComment(int articleID)
{
return PartialView();
}
[HttpPost]
public ActionResult DisplayCreateComment(CommentModel comment, int articleID)
{
...
//There the CommentModel has the same ID as the Article Model ...
}