データページャーに添付されているリストビューにリンクを作成しました。ユーザーがリンクをクリックすると、左側にコンテンツが表示されますが、データページャーは任意のページからページ 1 に変更されます。
1 に答える
各リンクにページ番号を示すクエリ文字列フィールドを追加する必要があります。次に、datapager コントロールの querystringfield 属性を、その querystring フィールドの名前と同じに設定する必要があります。
例えば:
<asp:DataPager ID="dpItems" runat="server" PagedControlID="lvItems" PageSize="10" QueryStringField="pageNumber">
MSDN から: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datapager.querystringfield.aspx
ページング計算を自分で行いたい場合は、実行時に StartRowIndex プロパティを設定することもできます。ただし、ページを直接設定することはできません。たとえば、1 ページに 10 レコードを表示していて、2 ページ目を表示したい場合、ランタイム コードで myDataPager.StartRowIndex = 20 を設定します。
または、datapager のフィールドをセットアップして querystringfield 値を設定するときに、datapager がこの計算を自動的に処理し、ページング コントロールを生成することもできます。次へ/前へのボタン、数値ページ リンクを使用するか、テンプレートで独自のページング コントロールを定義することができます。
独自のページング コントロールを定義する場合は、次のようになります。
次に、lvItems の OnDataBound イベントで、(Placeholder)lvItems.FindControl("phPageNumberButtons") でプレースホルダーを取得し、コントロールをプレースホルダーに追加します。
また、リストビューの ID と等しい PagedControlID を定義していることを確認してください。
フィールドの詳細については、次の MSDN 記事へのリンクを参照してください: msdn.microsoft.com/en-us/library/