私はC#、.NET3.5を使用しています。動的にバインドされたDataSourceを持つGridViewコントロールがあり、Page_Loadイベントハンドラーで動的にPageSizeを設定します。コントロールでAllowPaging=trueを設定しました。GridViewページングは正常に機能していますが、Page_Loadで設定されたページサイズは、ページが最初に読み込まれたときに有効になりません。ページが初めて読み込まれるとき、設定したGridView.PageSizeプロパティ(5、15など)に関係なく、常に10行が表示されます。1回目(ページポストバック)以降、ページサイズが有効になり、すべてが期待どおりに機能します。
ページサイズは、appsettingsの下のweb.Configファイルから取得したマスターページのプロパティです。
gridViewのページサイズが初めて有効にならない理由がわかりません。Page_Load以外の別のイベントでページサイズを設定する必要があります。また、ポストバックであっても、常に設定しています。内部Webサーバーを使用してページを実行しています。何が起こっているのか考えていますか?
コードビハインド(GridView1.AllowPaging = aspxページではtrue):
protected void Page_Load(object sender, System.EventArgs e)
{
DataView dvMembers = GetMembers;
GridView1.DataSource = dvMembers;
GridView1.PageSize = Master.GridViewSize;
}
マスターページのプロパティ:
public int GridViewSize
{
get { return Convert.ToInt32
(ConfigurationManager.AppSettings ["memberDataGridPageSize"]); }
}