我正在使用 C#、.NET 3.5。我有一个带有动态绑定 DataSource 的 GridView 控件,并且我在 Page_Load 事件处理程序中动态设置了 PageSize。我在控件上设置了 AllowPaging = true。GridView 分页工作正常,但是 Page_Load 中设置的页面大小在第一次加载页面时不会生效。第一次加载页面时,无论我设置的 GridView.PageSize 属性如何(5、15 等),它将始终显示 10 行。第一次(页面回发)后,页面大小生效,一切正常。
页面大小是我从 appsettings 下的 web.Config 文件中获取的母版页的一个属性。
我不确定为什么 gridView 的页面大小第一次没有生效。我是否应该在 Page_Load 以外的另一个事件中设置页面大小。另外,我总是设置它,即使它是回发。我正在使用内部 Web 服务器运行该页面。知道发生了什么吗?
后面的代码(GridView1.AllowPaging = true 在 aspx 页面上):
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"]); }
}