0

asp.net-MVC プロジェクトがあり、このプラグインを使用してページング メカニズムを実装しました。

最初のページには、製品と、製品の次のページを返すコントローラー メソッドを呼び出すページャーがあります。これはすべてうまくいきます。問題は、同じページのボタンを使用して製品を更新するオプションもあるということです。ボタンを使用して製品を更新し、ページャー リンクを使用しない場合、製品は更新されますが、ページャー プラグインは更新されません。

ページネーションプラグインを使用していないときにページが更新されると、ページャーを手動で更新し、updateRecentBooks の max_page 番号と「null」を別の値に変更する必要があります。

$().ready(function () { 
 $('.pagination').jqPagination({
        max_page: @Model.NumberOfPages,
        paged: function(page) {
            updateRecentBooks(page, null);
        }
    });
});

 $("#button").live("click", function () {
        ...
        // Calls the updateRecentBooks with the proper value

        updateRecentBooks(1, properValue);

    });

クリック イベントが発生した後、NumberOfPages 属性が更新されます。ページャーを更新して変更を反映し、次のようにする必要があります。

 $('.pagination').jqPagination({
        max_page: @Model.NumberOfPages, // Now contains new values.
        paged: function(page) {
            updateRecentBooks(page, propervalue); // Now contains proper value.
        }
    });

この問題を解決するにはどうすればよいですか?すべての助けをありがとう。

4

3 に答える 3

0

プラグインに適切に実行するためのパブリック関数がないように見えるため、それを実現できる唯一の方法は、ajax リクエストが返された後に必要な新しいデフォルト オプションで jqPagination() を再初期化することです。

于 2013-01-31T14:04:02.903 に答える
0

私があなたを正しく理解しているかどうかはわかりません...しかし、別のサーバー側変数をそこにロードしてみませんか?

updateRecentBooks(page, @Model.CurrentPage || null);
于 2012-07-23T15:23:56.183 に答える
-1

ajaxで更新していたパネル内のページネーションコントロールを移動することで問題を解決しました。このようにして、部分ビューを更新するたびに、ページネーション コントロールが新しい値で再バインドされます。

于 2012-07-24T09:27:11.250 に答える