【发布时间】:2009-10-21 16:35:26
【问题描述】:
我正在使用 C#、.NET 3.5。我有一个带有动态绑定 DataSource 的 GridView 控件,并且我在 Page_Load 事件处理程序中动态设置了 PageSize。我在控件上设置了 AllowPaging = true。 GridView 分页工作正常,但是在 Page_Load 中设置的页面大小在第一次加载页面时不会生效。第一次加载页面时,无论我设置的 GridView.PageSize 属性如何(5、15 等),它将始终显示 10 行。在第一次(页面回发)之后,页面大小生效,一切都按预期工作。
页面大小是我从 appsettings 下的 web.Config 文件中获取的母版页的一个属性。
不知道为什么gridView的pagesize第一次没有生效。我是否应该在 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"]); }
}
【问题讨论】:
标签: c# asp.net gridview pageload