Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无限滚动页面在滚动后丢失格式_Javascript_Jquery_Asp.net Mvc_Infinite Scroll_Masonry - Fatal编程技术网

Javascript 无限滚动页面在滚动后丢失格式

Javascript 无限滚动页面在滚动后丢失格式,javascript,jquery,asp.net-mvc,infinite-scroll,masonry,Javascript,Jquery,Asp.net Mvc,Infinite Scroll,Masonry,我有一个MVC项目,其中一个无限滚动页面与砖块一起使用 初始加载工作正常,但当我加载新数据时,它似乎根本没有格式 任何想法都将不胜感激 这是密码 景色 @model List<Business.Vent> <div id="VentListDiv"> <div class="blog_masonry_3col"> <div class="container content grid-boxes"> @{Html

我有一个MVC项目,其中一个无限滚动页面与砖块一起使用

初始加载工作正常,但当我加载新数据时,它似乎根本没有格式

任何想法都将不胜感激

这是密码

景色

@model List<Business.Vent>

<div id="VentListDiv">
<div class="blog_masonry_3col">
    <div class="container content grid-boxes">
            @{Html.RenderAction("VentList", "Test", new { Model = Model });}
    </div>
</div>
</div>
@型号列表
@{Html.RenderAction(“VentList”,“Test”,new{Model=Model});}
@节脚本{
var BlockNumber=2;//Infinate滚动从第二个块开始
var NoMoreData=假;
var inProgress=假;
$(窗口)。滚动(函数(){
if($(窗口).scrollTop()==$(文档).height()-$(窗口).height()&&&!NoMoreData&&!inProgress){
inProgress=true;
$(“#加载div”).show();
$.post(“@Url.Action(“InfinateScroll”,“Test”),{“BlockNumber”:BlockNumber},
功能(数据){
BlockNumber=BlockNumber+1;
NoMoreData=data.NoMoreData;
$(“#VentListDiv”).append(data.HTMLString);
$(“#加载div”).hide();
inProgress=假;
});
}
});
}
局部视图

@model List<Business.Vent>

@foreach (var item in Model)
{
<div class="grid-boxes-in">
    <div class="grid-boxes-caption">
        <ul class="list-inline grid-boxes-news">
            <li><i class="fa fa-clock-o"></i> July 06, 2014</li>
            <li>|</li>
            <li><a href="#"><i class="fa fa-comments-o"></i> 06</a></li>
        </ul>
        <p>@item.MyText</p>
    </div>
</div>
}
@型号列表
@foreach(模型中的var项目)
{
  • 2014年7月6日
  • |
@item.MyText

}
控制器

        public ActionResult Index()
    {
        int BlockSize = 5;
        var Vent = Business.Vent.GetListCount(1, BlockSize);
        return View(Vent);
    }

    public ActionResult VentList(List<Business.Vent> Model)
    {
        return PartialView(Model);
    }

    [HttpPost]
    public ActionResult InfinateScroll(int BlockNumber)
    {
        //////////////// THis line of code only for demo. Needs to be removed ///////////////
        System.Threading.Thread.Sleep(3000);
        ////////////////////////////////////////////////////////////////////////////////////////

        int BlockSize = 5;
        var Vent = Business.Vent.GetListCount(BlockNumber, BlockSize);

        Business.Vent.JsonModel jsonModel = new Business.Vent.JsonModel();
        jsonModel.NoMoreData = Vent.Count < BlockSize;
        jsonModel.HTMLString = RenderPartialViewToString("VentList", Vent);

        return Json(jsonModel);
    }

    protected string RenderPartialViewToString(string viewName, object model)
    {
        if (string.IsNullOrEmpty(viewName))
            viewName = ControllerContext.RouteData.GetRequiredString("action");

        ViewData.Model = model;

        using (StringWriter sw = new StringWriter())
        {
            ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
            ViewContext viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
            viewResult.View.Render(viewContext, sw);

            return sw.GetStringBuilder().ToString();
        }
    }
public ActionResult Index()
{
int BlockSize=5;
var Vent=Business.Vent.GetListCount(1,BlockSize);
返回视图(通风口);
}
公共行动结果文特列表(列表模型)
{
返回局部视图(模型);
}
[HttpPost]
公共行动结果InfinateScroll(int BlockNumber)
{
////////////////这行代码仅用于演示。需要删除///////////////
系统线程线程睡眠(3000);
////////////////////////////////////////////////////////////////////////////////////////
int BlockSize=5;
var Vent=Business.Vent.GetListCount(BlockNumber,BlockSize);
Business.Vent.JsonModel-JsonModel=new Business.Vent.JsonModel();
jsonModel.NoMoreData=Vent.Count
由于HTML是以JSON字符串形式返回的,当您将其附加到VentListDiv时,它被视为字符串而不是HTML,请先尝试转换为HTML:

$("#VentListDiv").append($.parseHTML(data.HTMLString));

不幸的是,我试过了,但得到了同样的结果。
$("#VentListDiv").append($.parseHTML(data.HTMLString));