private void DataGrid1_UpdateCommand_1(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
      int adid=Convert.ToInt32(e.Item.Cells[2].Text.ToString());
      string title=((TextBox)e.Item.Cells[3].Controls[0]).Text.ToString();      Response.Write (title);     //做数据库UPDATE
     db1.update(adid,title);
     DataGrid1.EditItemIndex=-1;
     this.BoundData(); 
 
}我在update时候把TITLE的值给改了,但是输出的还是没有更改过的title,数据库中没有更新。
但是如果我db1.update(adid,“啊啊啊");
这样就是更新了,说明数据库更新没有问题,
但是为什么取到的title值是没有更新的呢?请高手指教!

解决方案 »

  1.   

    把title所在的textbox的viewstate改成false看看.
      

  2.   

    数据库没有更新,
    title所在的textbox是editcommand的情况下自动生成的,怎么改viewstate呢
      

  3.   

    不要用 db1.update(),会出问题;
    改成定义个updatecommand,然后需要更新数据库用updatecommand.ExecuteNonQuery()一般不会出问题。
      

  4.   

    触发肯定是触发了
    因为我db1.update(adid,“啊啊啊");
    是成功的呀,
    就是取不到新的值
      

  5.   

    if(!Page.IsPostBack)
    {
      //DateGrid的初始绑定
    }
      

  6.   

    应该是if(!Page.IsPostBack)的问题
    在PageLoad里面
    if(!Page.IsPostBack)
    {
      //DateGrid的初始绑定
    }
      

  7.   

    if(!Page.IsPostBack)
    {
      //DateGrid的初始绑定
    }
    应该是这个问题 你看看