1

コントローラのJSONオブジェクトからアイテムが入力されている場合、リストの前と次のボタンを作成しようとしています。

レコードのセットで同様に実行できるように、スキップアンドテイク変数があります。一度に7を進め(次)、一度に7を逆転(前)にページ分割したいと思います。

注文は適切に読み込まれていますが、レンダリングする「ページ」がなくなったときにCSSクラスを変更するとともに、スキップテイクのアイデアを完全には理解していません。

        var skip = 0;
    var take = 7;

    function loadItems() {
        $.ajax({
            url: '@Url.Action("GetAllItems")',
            data:
            {
                skip: skip,
                take: take
            },
            type: "GET",
            cache: false,
            success: function (items) {
                $.each(items, function (index, item) {
                    $('#ul-items').append('<li><a class="link">' + item.Information + '</a></li>');
                });
            }
        });
    }

    $(document).ready(function () {
        $('#previous').live("click", function () {
            //page number , # of records needed
            skip(0);
            take(-7);

            if (i) {//execute if there are no previous selections available
                $('#previous').removeClass('enabled').addClass('disabled');
            }
        });

        $('#next').live("click", function () {
            //page number , # of records needed
            skip(1);
            take(7);

            if (i) {//execute if there are no previous selections available
                $('#next').removeClass('enabled').addClass('disabled');
            }
        });
    });
4

2 に答える 2

1

Skipリスト内のいくつかの項目をうまくスキップできます。そしてTake、リスト内の次の数のアイテムを取得します。

100個のアイテムを含むPaginatedListがあり、一度に10個のアイテムが必要だとします。

最初に10を取ります。2番目のリンクは10の要素をスキップし、次の10の要素を取ります。

paginatedList.Skip(i*10).Take(10)だから、私があなたのページ番号になるようなものになります。

したがって、iが0の場合、0 * 10はページ0になります(実際には最初のページですが、ユーザーはそれを知りません)。 Take 10最初の10個のアイテムを返します。

于 2012-10-01T20:34:10.127 に答える
0

コードは次のようになります。ypuはテイク値を変更する必要はなく、スキップするだけです。

 $('#previous').live("click", function () {
            if (skip > 0) {
                skip = skip - 1;
            } else {
                $('#previous').removeClass('enabled').addClass('disabled');
            }
            loadItems();
        });

        $('#next').live("click", function () {
            skip = skip + 1;
            loadItems();
            $('#previous').addClass('enabled').removeClass('disabled');
        });
于 2012-10-01T20:44:07.130 に答える