各位大大,Gridview更新的时候怎么老取不到新值???

解决方案 »

  1.   

    是否有在Page_Load写
    if(IsPostBack)
    {
    //绑定数据
    }
      

  2.   

    不然参考:
    http://blog.csdn.net/insus/archive/2008/03/30/2229898.aspx
      

  3.   

    把Gridview视图状态EnableViewState设FALSE
      

  4.   

    就是点击GridView的编辑按钮(COmmandField)后进入GridView的编辑状态,修改字段值后再点击更新保存刚才的修改时,发现根本没作改变,后跟踪发现从GridView取到的新值是空的。。相关代码如下:switch (e.CommandName)
            {
                //编辑
                case "Edit":
                    GV.EditIndex = index;
                    break;            //修改
                case "Update":
                    sUserID = GV.Rows[index].Cells[1].Text.ToString();;
                    Hashtable ht = new Hashtable();
                    ht.Add("sRoleID",((TextBox)GV.Rows[index].Cells[2].Controls[0]).Text.ToString());
                    lrole.Update(ht);
                    GV.EditIndex = -1;
                    break;            //取消
                case "Cancel":
                    GV.EditIndex = -1;
                    break;            //删除
                case "Delete":
                    lrole.sUserID = GV.Rows[index].Cells[1].Text.ToString();
                    lrole.Delete(); //利用Cart的Remove方法,删除某种图书
                    break;
                default:
                    break;
            }
            Query();有sPostBack,,, protected void Page_Load(object sender, System.EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                InitData();
                Query();
            }
        }
      

  5.   

    造孽呀,自己代码错了//修改
                case "Update":
                    sUserID = GV.Rows[index].Cells[1].Text.ToString();;
                    Hashtable ht = new Hashtable();
                    ht.Add("sRoleID",((TextBox)GV.Rows[index].Cells[2].Controls[0]).Text.ToString());
                    lrole.Update(ht);
                    GV.EditIndex = -1;
                    break; 改成
    //修改
                case "Update":
                    sUserID = ((TextBox)GV.Rows[index].Cells[1].Controls[0]).Text.ToString();
                    Hashtable ht = new Hashtable();
                    ht.Add("sUserID", sUserID);
                    ht.Add("sRoleID",((TextBox)GV.Rows[index].Cells[2].Controls[0]).Text.ToString());
                    lrole.Update(ht);
                    GV.EditIndex = -1;
                    break;