我有一个加载有部分列表的div:
@foreach (var comment in Model.Comments)
{
Html.RenderPartial("~/Views/Comment/_CommentView.cshtml", comment);
}
当用户向下滚动到页面底部时,我在该div中加载新评论:
public ActionResult LoadMore(int pageIndex)
{
int _pageSize = 10;
var model = ... get comments
return Json(model.ToList(), JsonRequestBehavior.AllowGet);
}
在页面jquery函数中,我添加了新的注释,例如
for (var i = 0; i < response.length; i++) {
ctrls.push("<div class='comment'> <h4>" +"response[i].CommentText" + "</h4></div>");
}
但是此代码根本不可重用,因此我想使其更好。
是否有可能:
1)以某种方式在JS函数中呈现部分内容并传递数据?
2)从ActionMethod返回部分列表,只是从JS功能添加它?
您肯定从Controller方法返回PartialView结果。在这种情况下,您必须返回部分视图而不是JSON。该部分视图直接包含要呈现的html,因此在ajax调用的成功方法中将其添加到您的容器中。
public ActionResult LoadMore(int pageIndex)
{
int _pageSize = 10;
var model = ... get comments
return Partial("Comment" , model);
}
阿贾克斯电话
$.ajax({
url: '' // set as your wish
data: // pageIndex
success : function(data){
$('#commentContainer').append(data);
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句