このコードを使用して 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());
私が間違っているところを見て教えてください。
ヘルプは非常に高く評価されます。
感謝と敬意