如何使用MVC 3剃须刀(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进行添加/编辑评论?它应该是部分视图吗?
我不确定stackoverflow如何做到这一点,但是有几种方法可以实现同一件事。
通常,您会在页面上写一些jQuery来拦截表单帖子,然后使用Ajax发布数据。
-
您可以发布到Web API或仅返回JSON的操作。在服务器上,将注释添加到您正在使用的任何数据存储中,并以成功结果或保存评论的详细信息(由您决定)。完成后,使用jQuery在客户端渲染新条目 - 在您的情况下,只需在评论中添加一个新的LI。或
-
您可以发布返回部分视图的操作。保存评论,更新集合,然后呈现部分视图。在您的jQuery中,您可以用新内容替换整个评论部分。
这是一个非常广泛的问题,还有许多其他方法可以做到这一点。您可以使用SignalR之类的内容来从服务器中推出新注释(以实时进行),并且您可以使用JS模板框架(例如敲除JS),因此您只处理模板和一系列对象。