在 Model mvc3 中渲染列表的一部分

问题描述 投票:0回答:2

我列出了问题(模型中大约有 1000 个问题)。 我想在用户向下滚动将呈现接下来的 100 个问题后,首先呈现 100 个问题。

你知道怎么做吗?

html asp.net-mvc asp.net-mvc-3 model lazy-loading
2个回答
2
投票

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

我可能会首先查看 Rob Conery 关于滚动的博客,他称之为无底滚动。它使用 jquery,基本上在您滚动时根据高度计算触发 ajax 请求以获取更多信息。

但是还有更多的例子Infinitescroll使用mvc4的无限滚动使用mvc的无限滚动...


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>");
            });
        }
    });
}
© www.soinside.com 2019 - 2024. All rights reserved.