ListView の現在のページのページ番号を取得しようとしています。次のコードで DataPager コンポーネントを使用しています。
int CurrentPage = ((DataPager1.StartRowIndex) / DataPager1.MaximumRows) + 1;
読み込まれたとき、つまりユーザーがページを移動したときのページ番号を取得しようとしますが、DataPager1.StartRowIndex は新しいページではなく前のページのインデックスを返し、その結果、私のページ数は計算が間違っています。
上記の場合 - MaximumRows = 15. StartRowIndex が最初のページで 0 に等しいと予想しているため、(0/15)+1 はページ番号 1 を与えます.2 ページでは、StartRowIndex が 15 に等しいと予想します.したがって、現在のページ番号は 2 になります。
詳細情報を提供するには:
私はリストビューコンポーネントを使用しています -
<asp:ListView ID="lvQuals" runat="server" DataSourceID="dsListQual"
OnItemDataBound="lvQuals_ItemDataBound"
OnPagePropertiesChanged="lvQuals_PagePropertiesChanged">
次のコードビハインドを使用して-
public void lvQuals_PagePropertiesChanged(object sender, EventArgs e)
{
ToggleArchivedLink();
}
protected void ToggleArchivedLink()
{
int CurrentPage = ((DataPager1.StartRowIndex) / DataPager1.MaximumRows) + 1;
DataPager1.StartRowIndex は、正しいページ インデックスを表示する場合もありますが、前のページのインデックスを表示する場合もあります。