1

ajaxリクエストをコントローラーに送信して成功させるjs関数があります。結果を返し、その結果を部分ページ内の目的の div に追加します。今、ページネーションを実装したいと思い$("#dataList").on("click", ".pagedList a".getPage);ます。ユーザーがページネーションリンクをクリックしたときにリッスンして、クリックされたページ番号を判断するために使用しています

var getPage = function () {
    var $a = $(this);
    GetTabData(a);
    return false;
}

そして最後に、pagenumberをactiveTab変数とともにコントローラーに送信する次の関数にpagenumberを送信しています

function GetTabData(xdata, pageNumber) {
    $.ajax({                    
        url: ('/Home/GetTabData'),
        type: 'POST',
        contentType: 'application/json',
        dataType: 'html',
        data: JSON.stringify({ activeTab: xdata, page: pageNumber }),
        success: function (result) {
            $("[id^='tab-'] div").remove();
            var currentTab = $("#tab-" + xdata).html(result);
        },
        error: function () { alert("error"); }
    });
}

何かが決定的です。ここで間違っているのは、使用しているコントローラー側の原因です

Request.IsAjaxRequest()

データのページネーションへの ajax リクエストのみを許可すると、Not ajax request. もう一度、ページネーション オプションを完全に削除し、activeTab だけを送信すると、すべてが機能します。

何かご意見は?

4

1 に答える 1

1

あなたのGetTabData関数は2つの引数を取ります:xdataそしてpageNumber、それを呼び出すときは1つだけを渡します:

var $a = $(this);
GetTabData(a);

そのため、おそらく JavaScript エラーが発生し、return falseステートメントに到達することはありません。

于 2013-03-29T09:21:46.870 に答える