PagedList
コンポーネントを使用してデータのページングを実行しているMVCビューがあります。これをサポートする私のJavaScriptは次のようになります。
$(function () {
var getPage = function () {
var $a = $(this);
var options = {
url: $a.attr("href"),
type: "get"
};
$.ajax(options).done(function (data) {
var target = $a.parents("div.pagedList").attr("data-ExchangeSite-target");
data: $("form").serialize(),
$(target).replaceWith(data);
});
return false;
};
$(".main-content").on("click", ".pagedList a", getPage);
});
私の.cshtmlファイルは、部分的に次のようになります。
@model ExchangeSite.Entities.BicycleSearchSeller
<div id="itemList">
<div class="pagedList" data-ExchangeSite-target="#itemList">
@Html.PagedListPager(Model.BicycleSellerListingList, pageNumber => Url.Action("Index", new {pageNumber}),
PagedListRenderOptions.ClassicPlusFirstAndLast)
</div>
...
...
IE9では、これは完全に機能します。特定のページ番号、または次/前のページをクリックすると、コントローラーに対して非同期呼び出しが行われ、データのリスト( "itemList")が更新されます。ただし、Chromeでは、コントローラーに対して2つの呼び出しが行われます。1つはAjax呼び出しであり、もう1つはそうではありません。Chromeでコントローラーに2回の呼び出しが行われる理由を誰かに教えてもらえますか?さらにコードを表示する必要がある場合は、お知らせください。