0

如何使用 mvc 3 razor (EF4) 在 Stackoverflow 中重新创建添加评论功能?

这是样机代码:

<div>add comment</div> 

<ul id="comments">                                          
@foreach (var comment in Model) {                           
    <li>@comment</li>                                       
}                                                           
</ul>                                                       

<form method="post" id="commentForm"                        
      action="@Url.Action("AddComment")">                   

    @Html.TextArea("Comment", new { rows = 5, cols = 50 })   
    <br />
    <input type="submit" value="Add Comment" />
</form> 

如何通过 ajax/jquery 处理添加/编辑评论?应该是片面的观点吗?

4

1 回答 1

0

我不确定 StackOverflow 是如何做到的,但有几种方法可以实现相同的目标。

通常,您会在页面中编写一些 jQuery 来拦截表单发布并使用 ajax 发布数据。

  1. 您可以发布到 Web API 或只是返回 JSON 的操作。在服务器上,将评论添加到您正在使用的任何数据存储中,并回复成功结果或已保存评论的详细信息(取决于您)。完成后,使用 jQuery 在客户端呈现新条目 - 在您的情况下,只需添加一个带有注释的新 li。或者

  2. 您可以发布到返回部分视图的操作。保存评论,更新集合,然后渲染局部视图。在您的 jQuery 中,您可以用新内容替换整个评论部分。

这是一个非常广泛的问题,还有很多其他方法可以做到这一点。您可以使用 SignalR 之类的东西从服务器推送新评论(使其实时),并且您可以使用诸如 Knockout JS 之类的 JS 模板框架,因此您只需处理一个模板和一组对象。

于 2012-12-20T04:29:31.950 回答