protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
 up();
}
}

解决方案 »

  1.   

    string sql = "update test set name='" + name + "',num='" + num + "',address='" + address + "' where test_id='" + getid + "'";执行这句时,name变量是否改变?
      

  2.   

    http://www.zhibin.cn/article.asp?id=10
    看看上面的,有详细的说明几解决办法
      

  3.   

    protected   void   Page_Load(object   sender,   EventArgs   e) 

    if(!Page.IsPostBack) 

      up(); 

    }protected   void   GridView2_RowEditing(object   sender,   GridViewEditEventArgs   e) 

    this.GridView2.EditIndex   =   e.NewEditIndex; 
    up(); 
    (GridView2.Rows[e.NewEditIndex].Cells[0].Controls[0]   as   TextBox).Enabled   =   false; 
      

  4.   

        一个新的gridview总是需要给他指定一个datasouce,然后databind一下!他的功能很强大,但是总是会出现许多问题。    这次讲的是gridview在使用自己的更新方法时,总是取到textbox未更新前的值。就是数据库原来的值。    出现这种问题的朋友,你检查下是不是把databind写在了pageload里面呢 ?而且没有进行ispostback,就直接让他databind() ?    这就是问题的所在,我们必须在pageload里面指定gridview的数据源(datasource),然后绑定(databind),而我们在处理RowUpdating的委托函数之前,会先执行完pageload再执行其他事件函数。因此,在执行RowUpdating对应的处理函数之前,数据已经又被复原为数据库里的初试值。    修改这个错误的方法,很简单,把gridviewobject.DataBind()放到if(!IsPostBack) 里面
      

  5.   

    楼上的也不行了,我刚遇到这样的问题,以前都是用那个,datasource控件作的,不过成功了
      

  6.   

    我也遇到了这个问题。用9楼的方法做了。结果发现丢失绑定值了。结果还是不能进行更新。
    我是用NHibernate持久化数据库的,专门谢了一个数据处理的接口。现在是在新建的网页中测试接口运行效果。结果就遇到了上面类似的问题。郁闷啊!
      

  7.   

    (GridView2.Rows[e.NewEditIndex].Cells[0].Controls[0] as TextBox).Enabled = false;有什么用希望大侠指点,没有它也能够得到想要的效果,加上了反而会报错,急!!!