使用 Linq 查询作为数据源的 ASP.NET GridView 分页

问题描述 投票:0回答:1

当我使用 linq 查询在运行时设置数据源时,我正在寻找一种使用 GridView 进行分页的方法。 这是我的代码:

ETDataContext etdc = new ETDataContext();
var accts = from a in etdc.ACCOUNTs
            orderby  a.account_id
            select new
            {
                Account = a.account_id,
                aType = a.SERVICEs.FirstOrDefault().SERVICE_TYPE.service_type_desc,
                name = a.SERVICEs.FirstOrDefault().service_name,
                Letter_dt = a.create_dt,
                PrimAccthldr = a.PEOPLE.first_name + " " + a.PEOPLE.middle_name + " " + a.PEOPLE.last_name
             };
GridView1.DataSource = accts;
GridView1.BindData();

我将网格设置为允许分页,但收到一条错误消息,指出 PageIndexChanging 事件尚未处理。 我四处搜寻,发现了以下内容:

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
     GridView1.PageIndex = e.NewPageIndex;
     GridView1.DataBind();
}

但是当您使用数据表而不是 linq 时,这很有效。 如果我在事件中添加重新绑定,它必须重新查询 7000 条记录,这可能会有点慢。 有谁知道如何修复像这样使用 linq 时的分页问题?

c# asp.net gridview pagination linq-to-sql
1个回答
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.