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

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

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

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

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

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

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();
}

转载于:https://www.cnblogs.com/silva/archive/2006/03/16/351534.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值