日期:2014-05-18  浏览次数:20470 次

sqldatesource gridview 一按键操作后gridview不更新怎么办?
我有一个页面,上面有个sqldatesource,gridview,我gridview绑定datesource,有一个按钮,是删除gridview对应数据库某一记录的,但删除后,页面自动返回,gridview这条记录还在里面,数据库这条记录是已经没了。我要怎么做才能让他刷新datesource然后重新绑定gridview呢?

------解决方案--------------------
可能有以下问题:
1、在解决资源管理器中的该项目上右键看属性页上的版本是不是自动更新,要是自动更新则是正确的,不是的话,就要重新建了空网站,把文件一个一个重新添加进去。
2、即为楼上兄弟所说,在page_load()里重新DataBind()一下。
3、就是更新代码是否有问题,下面是我的,请参考:用的是三层
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
TextBox T = this.GridView1.Rows[e.RowIndex].Cells[1].Controls[0] as TextBox;
DropDownList T1 = this.GridView1.Rows[e.RowIndex].Cells[3].FindControl( "DropDownList1 ") as DropDownList;//我新加了一列是[3]为DropDownList1

if (T != null)
{
department de = new department();
de.DepName =T.Text;
de.ParentID = int.Parse(T1.SelectedValue);
de.DepID = int.Parse(this.GridView1.Rows[e.RowIndex].Cells[0].Text);
Business.department.Update(de);//业务层中的更新
this.Bind();
this.Bind2();//我绑定了DropDownList和GridView
}
}

public static void Update(department de)//业务层中的更新
{
DB db = new DB();
SqlParameter par = new SqlParameter( "@DepID ", SqlDbType.Int);
par.Value = de.DepID;
SqlParameter par1 = new SqlParameter( "@DepName ", SqlDbType.VarChar);
par1.Value = de.DepName;
SqlParameter par2 = new SqlParameter( "@ParentID ", SqlDbType.Int);
par2.Value = de.ParentID;
string sql = "update departinfo set DepName = @DepName, ParentID = @ParentID where DepID = @DepID ";
int result = db.ExeCommandNoQuery(sql, new SqlParameter[] { par1, par2, par }, false);
}