现在的位置: 首页 > 综合 > 正文

大家有没有考虑过这个问题:datagrid分页,viewstate到底起什么作用?

2012年08月04日 ⁄ 综合 ⁄ 共 756字 ⁄ 字号 评论关闭

使用asp.net DataGrid控件本身的分页功能,在page_load中加载数据绑定到控件。

但是每次点击datagrid的页序号,需要执行page_load中的加载数据代码,每次都要访问数据库,而这是不可缺少的,不然分页不起作用!!

每次都要重新访问数据,重新加载绑定到控件@_@

这个过程中,datagrid的ViewState起的作用好像只是索检到10000条数据中的当前页的20条,其他9980完全被过滤掉了。

是这样的吗??
这样的话,内置的这个分页功能,对于大数据量来说,实在是太糟糕了!

private void Page_Load(object sender, System.EventArgs e)
{

SqlConnection conn = new SqlConnection("user id=sa;password=511;server=(local);database=abc;");
SqlDataAdapter objDataAdapter=new SqlDataAdapter("select * from Table1",conn);
DataSet ds = new DataSet();
objDataAdapter.Fill(ds);

this.DataGrid1.DataSource = ds;

this.DataGrid1.DataBind();
}
...
...
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
 this.DataGrid1.CurrentPageIndex = e.NewPageIndex;

 this.DataGrid1.DataBind();
}

抱歉!评论已关闭.