2012-02-13 92 views
0

我无法使用下面的代码在C#中更新gridview。无法更新gridview

protected void grdreg_RowUpdating(object sender, GridViewUpdateEventArgs e) 
     { 
      SqlConnection con = new SqlConnection(connectionstring); 
      con.Open(); 
      HiddenField id = ((HiddenField)(grdreg.Rows[e.RowIndex].FindControl("lblid"))); 
      SqlCommand cmd = new SqlCommand("update NEW_TABLE SET [email protected]_NAME,[email protected]_NAME WHERE [email protected]", con); 
      cmd.Parameters.AddWithValue("@FIRST_NAME",((TextBox)(grdreg.Rows[e.RowIndex].FindControl("txtfname"))).Text); 
      cmd.Parameters.AddWithValue("@LAST_NAME",((TextBox)(grdreg.Rows[e.RowIndex].FindControl("txtlname"))).Text); 
      cmd.Parameters.AddWithValue("@ID", id.Value); 
      cmd.ExecuteNonQuery(); 
      cmd.Dispose(); 
      grdreg.EditIndex = -1; 
      con.Close(); 
      fillgridview(); 

     } 

当我更新的文本框的值和调试代码,它会显示文本框的前一个值未更新的价值。

请确实需要。

+0

我想在这里你正在更新值并从数据库中再次选择。为此,您可以简单地编写以下代码并将数据与选择查询绑定。请检查选择查询,更新字符串等。如果您披露'fillgridview();' – kbvishnu 2012-02-13 11:43:13

+0

您是否可以在隐藏字段中获取值,并且您的ID列是整数?如果是,那么首先将隐藏的字段值转换为整数并尝试.... – 2012-11-05 12:18:09

回答

0

好像你正在使用RowUpdating事件。使用RowUpdated事件从控件获取更新的值。在RowUpdating事件期间,控件值尚未更新。