0

このコードを使用して MVC3 アプリに ajax コンテンツをロードしていますが、下にスクロールしてすべてのページをロードすると、ajax リクエストが再び 2 回発生してレコードがロードされます。Model== null または Model.Count() == 0 のときに表示されるメッセージを設定しました。このメッセージは、完全なレコードの後に​​ 2 回読み込まれます。私のJSコードは次のとおりです。

 var page = 0;
    var _inCallback = false;
    function loadProducts() {
        if (page > -1 && !_inCallback) {
            _inCallback = true;
            page++;
            $('div#loading').html('<p><img src="/Content/ajax-loader.gif"></p>');
            $.get("/Sort/All/" + page, function (data) {
                if (data != '') {
                    $("#productList").append(data);
                }
                if( page > 14 )  {
                $(window).off("scroll");
                $('div#loading').empty();
           } else {
                _inCallback = false;
           }
                $('div#loading').empty();
           });
        }
    }
    var dcList = true;
    $(window).scroll(function () {
        if ($(window).scrollTop()  >= ($(document).height() - $(window).height())*0.95) {
            loadProducts();
        }
    });

注: 上記のコード 14 は総ページ数です

私のコントローラーは:

                var pageno = page ?? 0;
                if (Request.IsAjaxRequest())
                {
                    return PartialView("_cpus", _data.GetALLPaginatedProducts(pageno ));
                }
                return View("Index", _data.GetALLProducts());

私が間違っているところを見て教えてください。

ヘルプは非常に高く評価されます。

感謝と敬意

4

0 に答える 0