我使用SqlDataSource绑定gridview,并且我将SQL select命令从代码后面分配给SqlDataSource。我还在我的GridView中启用了页面大小为25的分页。
现在我想知道的是,如果我从代码中分配查询,那么SqlDataSource会处理分页。我的意思是它应该根据所选的页码一次获取25条记录。
我担心因为我的GridViewis显示数据太慢而且我觉得SqlDataSource正在获取所有9174条记录(我的查询的结果集)并在第一页显示其中的前25条。当我切换到第二页时,看起来它再次获取所有9174条记录并显示接下来的25条记录。
任何人都可以帮助我理解我所假设的是正确的还是我的情况不同。
答案 0 :(得分:1)
答案 1 :(得分:0)
如果您这样做,请在选择事件中设置数据源:
protected void MyDataSourceSelecting(object sender, LinqDataSourceSelectEventArgs e)
{
e.Result = SomeIqueryableValue;
}
然后网格将使用IQueryable延迟执行自动处理分页。