C# GridView不会在页面更改时更改
Gridview:页面更改时数据不会更改 嗨,我在用c#开发一个asp.net网站。 我有一个带分页的gridview,gridview是从sql数据库填充的,在PageIndexChanging上我有:C# GridView不会在页面更改时更改,c#,asp.net,.net,data-binding,gridview,C#,Asp.net,.net,Data Binding,Gridview,Gridview:页面更改时数据不会更改 嗨,我在用c#开发一个asp.net网站。 我有一个带分页的gridview,gridview是从sql数据库填充的,在PageIndexChanging上我有: protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { BindGridControl(); gridView.PageIndex = e.NewPageInde
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
BindGridControl();
gridView.PageIndex = e.NewPageIndex;
gridView.DataBind();
}
例如,如果我单击第2页,接下来的数据行显示良好。
但是如果我点击返回到第1页,数据不会改变,它会继续显示第2页的数据
我怎样才能解决这个问题
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gridView.PageIndex = e.NewPageIndex;
BindGridControl();
gridView.DataBind();
}
BindGridControl()是否加载数据并将其设置为gridView数据源?您可以颠倒指令顺序
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gridView.PageIndex = e.NewPageIndex;
BindGridControl();
gridView.DataBind();
}
试一试
受保护的无效GridView1\u页面索引交换(对象发送方,GridViewPageEventArgs e)
{
gridView.PageIndex=e.NewPageIndex;
BindGridControl();
数据绑定();
}
我也有这个问题很久了。 我想到了这个,它终于对我起作用了
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
BindGridControl(e.NewPageIndex);
}
然后在BindGridControl函数中:
protected void BindGridControl(int pageNumber = 0)
{
SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings[connection].ConnectionString);
SqlDataReader dr;
SqlCommand cmd;
cmd = new SqlCommand();
cmd.Connection = sqlConn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "sp_load";
sqlConn.Open();
dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
GridView1.PageIndex = pageNumber;
GridView1.DataSource = dt;
GridView1.DataBind();
sqlConn.Close();
}
对BindGridControl()是我制作的一个方法。并将数据设置为gridview数据源。我尝试了您发布的更改,但无效。。。我能做什么?我可以详细了解BindGridControl()这是BindGridControl()方法::
code-protectedvoid-BindGridControl(){SqlConnection-sqlConn=new-SqlConnection(ConfigurationManager.ConnectionString[connection].ConnectionString);SqlDataReader-dr;SqlCommand-cmd;cmd=new-SqlCommand();cmd.Connection=sqlConn;cmd.CommandType=CommandType.storedProcess;cmd.CommandText=“sp_load”sqlConn.Open();dr=cmd.ExecuteReader();DataTable dt=new DataTable();dt.load(dr);GridView1.DataSource=dt;GridView1.DataBind();sqlConn.Close();}
Im还使用GridView1\u RowDataBound事件将数据加载到gridviewI,我做了这些更改。但问题依然存在。
protected void BindGridControl(int pageNumber = 0)
{
SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings[connection].ConnectionString);
SqlDataReader dr;
SqlCommand cmd;
cmd = new SqlCommand();
cmd.Connection = sqlConn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "sp_load";
sqlConn.Open();
dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
GridView1.PageIndex = pageNumber;
GridView1.DataSource = dt;
GridView1.DataBind();
sqlConn.Close();
}