我有一个带有分页特征的网格视图,当我想在数据库中搜索项目并在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();
}
答案 0 :(得分:0)
如果我理解正确,你在BindGridView()方法的末尾调用GridView1.DataBind(),所以我不相信你需要在调用BindGridView()之后再次执行它。在PageIndexChanging事件中:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
BindGridView();
}
如果这没有解决,请告诉我评论中会发生什么,我会再看一下。
此外,如果您说您的GridView正在填充数据库中的所有项目(当您只期望某些项目时),则表明您的查询存在问题。我会尝试设置一个断点并逐步查看要查看的内容,以确保您收到预期的结果。