我需要在一个页面中gridview的数据绑定是通过以下方式完成的:
protected void Page_Load(object sender, EventArgs e)
{
adjustname = Request.Params[0];
databind();
}
public void databind()
{
DataTable dt = new DataTable();
dt = db.getClientOrders(adjustname);
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}
现在点击某个按钮,在按钮的事件中通过循环,访问gridview中的每一行,但是由于点击按钮后,页面首先执行Page_Load方法里边的databind(),这就造成了在循环时,用户对gridview的改变都丢失了,如果在Page_Load里边使用IsPostBack进行判断,则gridview的分页按钮点击后不会重新绑定,造成分页不能用。这个问题该怎么解决呢?
protected void Page_Load(object sender, EventArgs e)
{
adjustname = Request.Params[0];
databind();
}
public void databind()
{
DataTable dt = new DataTable();
dt = db.getClientOrders(adjustname);
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}
现在点击某个按钮,在按钮的事件中通过循环,访问gridview中的每一行,但是由于点击按钮后,页面首先执行Page_Load方法里边的databind(),这就造成了在循环时,用户对gridview的改变都丢失了,如果在Page_Load里边使用IsPostBack进行判断,则gridview的分页按钮点击后不会重新绑定,造成分页不能用。这个问题该怎么解决呢?
然后在外面加上this.GridView1.DataBind()
{
if(!IspostBack)
{
adjustname = Request.Params[0];
databind();
}
}
{
adjustname = Request.Params[0];
if (!IsPostBack)
{
databind();
}
} /// <summary>
/// 分页
/// </summary>
#region
protected void exGv_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
exGv.PageIndex = e.NewPageIndex;
databind(); } 按钮点击事件
protected void ButtonRelunch_Click(object sender, EventArgs e)
{
foreach (GridViewRow di in exGv.Rows)
{ }
} 以上程序测试通过