0

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

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

1 回答 1

0

如果我理解正确,您在 BindGridView() 方法的末尾调用了 GridView1.DataBind(),所以我认为在调用 BindGridView() 之后不需要再次调用;在 PageIndexChanging 事件中:

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

如果这不能解决问题,请在评论中告诉我发生了什么,我会再看一下。

此外,如果您说您的 GridView 正在填满数据库中的所有项目(当您只期望某些项目时),则表明您的查询存在问题。我会尝试设置断点并逐步执行查询以查看返回的内容,以确保您获得预期的结果。

于 2012-10-15T05:44:29.427 回答