在模型mvc3中渲染列表的一部分

时间:2012-12-13 09:13:16

标签: asp.net-mvc asp.net-mvc-3 model lazy-loading render

我有列表问题(模型中约有1000个问题)。 我希望在用户向下滚动后呈现100个下一个问题,首先在视图上呈现100个问题。

你知道怎么做吗?

2 个答案:

答案 0 :(得分:1)

您正在寻找一个无限滚动实现,其中有很多

我可能首先看Rob Conery's blog on scroll just in time,他称之为无底滚动。它使用jquery,并且在滚动时基本上根据高度计算激活ajax请求。

但还有更多示例InfinitescrollInfinite scroll with mvc4Infinite scroll with mvc ......

答案 1 :(得分:0)

你必须通过javascript编程一些ajax调用来显示新行,然后使用这个javascript代码:

$(window).scroll(function () {
    if (document.documentElement.clientHeight + $(document).scrollTop() >= document.body.offsetHeight) {
        getCities(10);
    }
});

这里有一个示例方法:

function getCities(count) {
     $.getJSON("@Url.Action("GetCities")", { term: $("#search").val(), start: $("#cities tbody tr").length, count: count }, function (data, status, req) {
        if (data.count != 0) {
            $.each(data.cities, function() { 
                $("#cities tbody").append("<tr data-id='" + cityid + "' data-state='" + stateid + "'><td>" + name + "</td><td>" + state + "</td></tr>");
            });
        }
    });
}