2

私は持っている @Html.PagedListPager(Model, page => Url.Action("GetTabData", new { page })

私のjsファイル内ではmyTab、上記の例でページと一緒に送信する必要がある変数を使用する準備ができています。

どうやってやるの?

更新: js 変数を使用して、ユーザーがクリックしたタブを特定し、その値に基づいてデータをクエリしています。これで、上記の生成されたリンクを使用するページネーションが実装されました。これで、activeTab を送信するための私の ajax 呼び出しが壊れました。この値を Url.Action の上のページと一緒に送信する必要があります。

これは、ユーザーがクリックしたタブを判別するために ajax 経由で送信するために使用する js 変数です。

$(function () {
    var activeTab = null;
    $('#tabs .tabLink').click(function (event) {
        var activeTab = $(this).attr('href').split('-')[1];
        GetTabData(activeTab);        
    });
    GetTabData(ommitted on purpse)

});
4

1 に答える 1

0

私は質問を明確に理解していませんが、ここで推測しています。これがあなたが探しているものかどうかわかりません。

注 - GetTabDataJavaScript と cshtml コードの両方に含まれています@Url.Action。この方法では js 関数を呼び出すことができないため、これが単なる偶然であることを願っています。

URL の一部として 2 つの値を送信する必要がある場合は、RESTful な方法で送信するか、クエリ文字列を使用できます。

オプション1 -

Url.Action("GetTabData", new { page=2, tab="blah" })

対応するコントローラーのアクションは次のようになります

public ActionResult GetTabData(int page, string tab)
{
...
}

オプション 2 - クエリ文字列を作成して URL に追加する

/GetTabData?page=2&tab=blah

この場合、コントローラーのアクションは次のようになります。

public ActionResult GetTabData()
{
    var params = Request.QueryString;
...
}
于 2013-03-29T08:20:20.983 に答える