使用JQuery Ajax MVC C#进行无限滚动

时间:2019-01-08 14:35:16

标签: c# jquery ajax asp.net-mvc

我已经成功加载了20条记录的第一页。我有100,000条记录要加载以进行测试。当我滚动鼠标时,它不会在控制器中调用我的InfiniteScroll操作方法。

$(document).ready(function () {
    var pageindex = 2;
    var NoMoredata = false;
    var inProgress = false;
    $(window).scroll(function () {

        if ($(window).scrollTop() > Number($("#tblrow").height()) / 2 && !NoMoredata && !inProgress) {

            inProgress = true;
            $("#loadingdiv").show();

            $.post("@Url.Action("InfiniteScroll", "Employee")", { "pageindex": pageindex },
                function (data) {
                    pageindex = pageindex + 1;
                    NoMoredata = data.NoMoredata;
                    $("#trow").append(data.HTMLString);
                    $("#loadingdiv").hide();
                    inProgress = false;
                }
                );
        }
    }); 
})

,并在我的Employee控制器中。我在此操作方法中设置了一个断点,但不会到达此断点。

[HttpPost]
    public ActionResult InfiniteScroll(int pageindex)
    {
        System.Threading.Thread.Sleep(1000);
        int pagesize = 20;
        var tbrow = DataAccess.GetEmployee(pageindex, pagesize);
        JsonModel jsonmodel = new JsonModel();
        jsonmodel.NoMoredata = tbrow.Count < pagesize;
        jsonmodel.HTMLString = renderPartialViewtostring("table_row", tbrow);
        return Json(jsonmodel);
    }

0 个答案:

没有答案