繁体   English   中英

是否可以从ASP MVC中的jquery渲染部分视图

[英]Is it possible to render partial view from jquery in ASP MVC

我有一个加载有局部列表的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);
 }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM