C# 分页gridview为每个结果重新绑定

C# 分页gridview为每个结果重新绑定,c#,gridview,webforms,C#,Gridview,Webforms,我有一个带有分页功能的gridview,当我想在DB中搜索项并在gridview中显示分页结果时 但当我跳转另一个页面时,gridview将绑定并列出数据库中的所有项以及所有页面,我如何解决这个问题? 谢谢你的建议 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindGridView(); } } private void BindGridView(

我有一个带有分页功能的gridview,当我想在DB中搜索项并在gridview中显示分页结果时 但当我跳转另一个页面时,gridview将绑定并列出数据库中的所有项以及所有页面,我如何解决这个问题? 谢谢你的建议

 protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        BindGridView();
    }
}

private void BindGridView()
{
    using (NoavaranModel.NoavaranEntities1 dbContext = new NoavaranModel.NoavaranEntities1())
    {
        var query = from list in dbContext.Students
                    select list;
        lblStudentsCount.Text = query.Count().ToString();
        GridView1.DataSource = query;
        GridView1.DataBind();
    }
}

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

如果我理解正确的话,您正在BindGridView()方法的末尾调用GridView1.DataBind(),因此我认为在调用BindGridView()后不需要再次调用它;在PageIndexchange事件中:

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    BindGridView();
}
如果这不能解决问题,请让我知道评论中发生了什么,我会再看一看

另外,如果您说GridView正在填充数据库中的所有项(当您只需要某些项时),则表明您的查询存在问题。我会尝试设置一个断点并逐步执行查询以查看返回的内容,只是为了确保返回预期结果