如何使用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添加/编辑注释?它应该是局部视图吗?
答案 0 :(得分:0)
我不确定StackOverflow是如何做到的,但有几种方法可以实现同样的目的。
通常,你会在页面中编写一些jQuery来截取表单帖子并使用ajax发布数据。
您可以发布到Web API或只返回返回JSON的操作。在服务器上,将注释添加到您正在使用的任何数据存储中,并使用成功结果或已保存注释的详细信息(由您决定)进行回复。完成后,使用jQuery在客户端呈现新条目 - 在您的情况下,只需添加带注释的新li。 OR
您可以发布到返回部分视图的操作。保存注释,更新集合,然后渲染局部视图。在您的jQuery中,您可以用新内容替换整个评论部分。
这是一个非常广泛的问题,还有很多其他方法可以做到这一点。您可以使用SignalR之类的东西从服务器推送新的注释(以使其实时),并且您可以使用像Knockout JS这样的JS模板框架,因此您只需要处理模板和对象数组。