ASP.NET MVCでページングをどのように実装しますか?
-
08-07-2019 - |
質問
現在、私は多くのブログ投稿で見られる戦略を使用しています。基本的に、URLにはページ番号が含まれます(たとえば、/ Users / List / 5は、ユーザーのページングされたリストの5ページ目のユーザーに表示されます)。ただし、1つのページに2つの個別のページリストをリストする必要があるという状況には陥りません。 ASP.NET MVCを使用してこれを行うにはどうすればよいですか? 2つのurlパラメーター(/ Users / List?page1 = 1& page2 = 2など)を提供するだけですか?部分ビューを使用するより良い方法はありますか?
解決
ルートを1分間無視すると、URLの2つの異なるページの状態をクエリ文字列パラメーターとして保持します。
mysite.com/foo?list1page=2&list2page=8
次に、それに応じてデータ/ページャーを構築します。ページャーリンクはURLを更新するだけです。
よりわかりやすいURLを作成するためのルートを使用してクリエイティブを取得できますが、ここではクエリ文字列パラメーターは完全に受け入れられると思います。
他のヒント
ASP.NET MvcPager asp.netの公式サイト。
クエリパラメータを使用する場合、各リストのページリンクは、両方のパラメータを渡すために互いを順番に認識する必要があります。
2つのリストが互いに独立している場合、jquery&を使用して個別に更新できます。アヤックス。各リストをそれぞれのdivに部分ビューとして配置するだけです。
<div id="list1"><%= Html.RenderPartial ("ListA") %></div>
<div id="list2"><%= Html.RenderPartial ("ListB") %></div>
リストを更新する簡単な方法については、jQuery Formプラグインから ajaxSubmit を検索してください。
PagedList.Mvc は本当に使いやすいプラグインであり、< code> Nuget も同様です。