以前从没遇到过取不到新值的问题,这回偏偏就遇到了。
如果在page_load事件里面写上
if (!IsPostBack)
{
  databind();  //绑定gridview的代码
}那么点击更新按钮后,整个gridview都不显示了(因为回发中没执行绑定)
如果page_load事件不写if (!IsPostBack),那么取到的还是旧值(废话了,重新绑定,值当然还是旧的)gridview的EnableViewState已经是True了,要说和以前唯一的不同点就是这个gridview是放在母版页的子页中,难道是这里的影响吗?请高手给予一些意见。

解决方案 »

  1.   

    更新按钮点击事件下写上databind();  
      

  2.   

    补充一下,就是这个gridview绑定的是一个通过dbhelper获得的datatable,这里有什么影响?
      

  3.   

    更新按钮里面有什么件事。。贴代码谢谢。。按钮事件里面没有databind()吗?
      

  4.   

    databind()函数中写THIS.DataGridView.DataBing()这句话了吗?如果没有加上就行了
      

  5.   

    回复2楼,写了,更新事件的最后肯定要写这两句:
    Gv.EditIndex = -1
    Gv.DataBind()
      

  6.   

    Gv.DataBind()  写成databind();  
      

  7.   

    更新按钮事件里很简单,读取字段的值,通过sql语句更新数据库,重新绑定gridview,也应用了Gv.DataBind()。
    问题是我单步跟踪了一下,读字段的值,还是旧值,不是修改后的值,呵呵
      

  8.   

    Gv.DataBind()不对  改成databind(); 
      

  9.   

    datagrid的更新事件下写上databind();  
      

  10.   

    引用错了,呵呵,我是想引用“Gv.DataBind()不对  改成databind();”这句话。我刚才把代码都改了一番,发现Gv.DataBind()和databind()并无不同啊,原来好用的还好用,原来没解决的还是没解决。我用的是vs2005
      

  11.   

    http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.gridview.editindex(VS.80).aspx
    参考msdn的资料看看吧。。
      

  12.   

    更新事件的最后
    光gv.DataBind()是不够的
    要把gv.DataSource也重新取一次dt给他赋值
      

  13.   

    gv的datasource属性需要重新给值
    然后在调用databind方法邦定
      

  14.   

    有句老话叫“自作孽,不可活”——以前调试的时候把gridview的EnableViewState设置为false了没改回来。。感谢楼上诸位,这就结帖。