我使用MVC和实体框架创建了一个简单的博客。
这是我的两节课:
public class BlogPost
{
public int BlogPostID { get; set; }
public string Title { get; set; }
public string Post { get; set; }
public DateTime Date { get; set; }
public virtual ICollection<Comments> Comments { get; set; }
}
public class Comments
{
public int CommentsID { get; set; }
public string Comment { get; set; }
public string Author { get; set; }
public DateTime Date { get; set; }
public int BlogPostID { get; set; }
}
现在,在我看来,我显示了一个Blogpost,并且我希望用户能够发表评论,我认为做到这一点的最佳方法是创建一个beginform。这就是我得到的:
@using (Html.BeginForm("AddComment", "BlogPosts", new { blogid = @Model.BlogPostID }, FormMethod.Post))
{
@Html.TextBoxFor() <---How do i acess the "Author"-property in comments?
@Html.TextAreaFor() <---How do i acess the "Comment"-property in comments?
<button type="submit">Add Comment</button>
}
解决以上问题后,我将使用此方法向数据库添加注释:
public ActionResult AddComment(int blogid, Comments model)
{
BlogPost blogPost = db.BlogPosts.Find(blogid);
blogPost.Comments.Add(model);
db.SaveChanges();
return RedirectToAction("Index");
}
这看起来像是执行此类任务的好方法,还是我可能缺少一些基本知识?坦!
创建一个用于添加注释的局部视图,该局部视图的模型将为注释类型
现在在局部视图中置于剃须刀下方
@model Comments
@using (Html.BeginForm("AddComment", "BlogPosts", new { blogid = @Model.BlogPostID }, FormMethod.Post))
{
@Html.TextBoxFor(model=>model.Author)
@Html.TextAreaFor(model=>model.Comment)
<button type="submit">Add Comment</button>
}
让我们将此局部视图称为AddComment.cshtml
现在,在博客文章视图中,将此局部视图添加到底部,例如,
@Html.Partial("AddComment",new Comments())
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句