2

フォームのPOSTリクエストの後にPagedList<>を返すアクションメソッドがあります。
このページにページングを追加したいのですが、すべてのページングシナリオはGETリクエストでのみ機能するようです。

現在、ページングコントロールを追加する唯一の方法は、ページをナビゲートするための1つのボタンを備えた一連のフォームを追加することです。これは見た目は醜いですが(すべてのフォームボタン)、必要なパラメーターを転送するために各フォームに多数の非表示フィールド(約10)が必要になるため、多くのオーバーヘッドが発生します。

GETリクエストに約12個のオプションパラメータを追加するクリーンな方法はありますか?それとももっと良い方法がありますか?

4

2 に答える 2

1

各ページングボタンには、残りのフォーム値とともに送信する必要のある一意の値が1つあります。したがって、実際には次のようなものだけが必要です。

function GoToPage(pageNumber)
{
    // submit form along with pageNumber

    return false;
}

<a href="javascript:GoToPage(1);">1</a>
<a href="javascript:GoToPage(2);">2</a>
<a href="javascript:GoToPage(3);">3</a>
于 2008-12-23T17:39:04.520 に答える
0

多くのオプション パラメータを GET 要求に追加する方法は、クエリ文字列パラメータを使用することです。コントローラー アクションへの引数を null 可能にします。ユーザーが指定した場合、MVC フレームワークはそれらにクエリ文字列パラメーターを入力し、それ以外の場合は null のままにします。

一般に、ページングに POST を使用することが適切であるとは思いません。POST は、サーバー リソースを更新するためのものです。ページングは​​それを行いません。

于 2008-12-23T14:22:51.543 に答える