我是这样写的

string code=e.Item.Cells[1].Text.Trim();

TextBox txtxcode=(TextBox)e.Item.Cells[2].Controls[0] ;
string xcode=txtxcode.Text.Trim();

但取过来的值还是原来的值啊,不是我修改过后的值,请高手指点。

解决方案 »

  1.   

    可能是因为你databind的时候没有判断页面回发。
    if(!IsPostBack)
    {
      yourBind();
    }
      

  2.   

    在Page_Load事件中
    把代码用
    if(!IsPostBack)
    {}
    括起来
      

  3.   

    你需要重新绑定,从原理上面来说:你只是修改了数据库,没有修改datagird,所以取到的还是原来的值
      

  4.   

    部分代码
    public void dg_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {

    string code=e.Item.Cells[1].Text.Trim();

    TextBox txtxcode=(TextBox)e.Item.Cells[2].Controls[0] ;
    string xcode=txtxcode.Text.Trim(); TextBox txtname=(TextBox)e.Item.Cells[3].Controls[0];
    string name=txtname.Text.Trim();

      

  5.   

    把取值的代码放在GridView的UPDATAED事件里面看看给行。