在GridView中插入或删除后的数据绑定!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/14 11:26:40
每次遇到GridView的删除或插入就头疼:
在一张页面中,上半部分是用户填写留言,下半部分用一个GridView显示改用户所有留言信息.
问题是,每次点"发布"后,GridView里还是原来的信息,刚添加的不显示.(数据库里头已经添加进去了)
而且,我在添加记录后有重新绑定数据的操作!

在线跪求高手解答!!!!
源代码:

protected void Page_Load(object sender, EventArgs e)
{
if(!this.IsPostBack)
{
if (Session["userName"] != null)
{
this.BindToGridView1();
}

}
}
//绑定数据到GridView
private void BindToGridView1()
{
//连接数据库语句.略

this.GridView1.DataSource = ds.Tables["notes"];
this.GridView1.DataBind();
}
//"发布留言"按钮事件
protected void btnSend_Click(object sender, EventArgs e)
{
//该处为插入数据库操作,略。
。。。。
//该处为插入数据库操作,略。

cmd.

数据源有没有刷新呢,最好把代码放上来!
if(!this.IsPostBack)
{
if (userName != null)
{
//this.BindData();
this.BindToGridView1();
}

} 刷新的语句放的地方就不对,!this.IsPostBack只在第一次load的时候有效

问题应该在这里!
private void BindToGridView1()
{
//连接数据库语句.略

this.GridView1.DataSource = ds.Tables["notes"];
this.GridView1.DataBind();
}
你的ds.Tables["notes"];的数据没有刷新过!!!!
你的notes的表应该是dataadpter生成的吧,用它生成的数据在生成后就不和服务器连接了,可以看作个临时表!

数据源有没有刷新呢

真解

你在页面按F5就出来了

不要放在这里面,把这一句去掉,不然BindToGridView1(); 不会执行
if(!this.IsPostBack)
{
}

你是不是设置了数据源的缓存了