ASP MVC4每个帖子都有多个评论

时间:2014-09-02 05:04:44

标签: c# asp.net-mvc

基本上,我想实现每个帖子都可以发布多个评论功能。但是,当用户对第一篇文章发表评论时,它甚至没有将数据提交给我的控制器,因此我无法获取评论数据,但如果用户对第二篇文章发表评论,我可以获得评论数据。为什么呢?

我的主要观点:

{

            using (Html.BeginForm("ListPost", "Post", FormMethod.Get, new { @id = "forms" }))
            {              
                    foreach (var item in Model.listPost)
                    {
                        @Html.Partial("~/Views/Shared/PartialView/ListPost.cshtml", new PostModel(item))
                    }
            }

}

我的部分观点:

{

@model PostModel

@using (Html.BeginForm("AddComment", "Comment", FormMethod.Post, new { @id = "forms" + Model.post.PostId }))
{    

    @Html.HiddenFor(x => x.post.PostId)

    @Model.post.PostMessage

    <br />

    @Html.Image(@Model.post.Member.Avatar.AvatarPath, null, "displayAvatar")

    <br />

    @Html.Timeago(@Model.post.PostedDate);

    <br />

    @Html.Label("Comment:")
    @Html.TextAreaFor(x => x.postComment.Message, new { @id = Model.post.PostId })

    <br />

    <input id= "@Model.post.PostId" class="btn btn-default" type="submit" value="Post" />

}



}

1 个答案:

答案 0 :(得分:0)

永远不要多次呈现HTML表单以进行评论。

渲染一次评论表格并将其移至评论内部,并使用隐藏字段存储父评论ID。它将节省大量资源,不会在同一页面上反复渲染表单。

使用JavaScript将表单移动到子级。我已经完成了它,它按预期运行。