每次点更新后gridview现实还是更新前的数据 
Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load 
        If IsPostBack = True Then 
            bind() //绑定 
        End If 
    End Sub 
  
更新     Protected Sub gv_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles gv.RowUpdating 
                Dim s As String = "Data Source=.;Initial Catalog=teacher;Integrated Security=True" 
              
        Dim i As String = CType((gv.Rows(e.RowIndex).Cells(1).Controls(0)), TextBox).Text.ToString.Trim         
        Dim s1 As String = CType((gv.Rows(e.RowIndex).Cells(2).Controls(0)), TextBox).Text.ToString.Trim 
        Dim s2 As String = CType((gv.Rows(e.RowIndex).Cells(3).Controls(0)), TextBox).Text.ToString.Trim 
        Dim s3 As String = "update AA set name='" + s1 + "',password='" + s2 + "' where id='" + i + "'" 
        Dim sql As New SqlConnection(s) 
        Dim sqlcom As New SqlCommand(s3, sql) 
        sql.Open() 
        Session("ss") = s1// 为什么s1显示出来是更新前的数据 不是更新后的数据 
        sqlcom.ExecuteNonQuery() 
        sql.Close() 
        gv.EditIndex = -1 
        bind() 
    End Sub

解决方案 »

  1.   

    Session("ss") = s1// 为什么s1显示出来是更新前的数据 不是更新后的数据 这个本来就是更新前的数据的,所以不是更新后的数据的
      

  2.   

    jint 今天先睡觉,明天早上起来回复
      

  3.   

    汗...这代码写的...看看你 Dim s1 As String = CType((gv.Rows(e.RowIndex).Cells(2).Controls(0)), TextBox).Text.ToString.Trim 下断点 调试,看看  s1有没有取到值。
      

  4.   

    你把CType((gv.Rows(e.RowIndex).Cells(2).Controls(0)), TextBox).Text.ToString这个值赋给了s1,虽然更新了gridview,CType((gv.Rows(e.RowIndex).Cells(2).Controls(0)), TextBox).Text.ToString也改变了,但是s1还是原来那次赋值时的值,你要重新赋值,而且 Session("ss") = s1这个要放到绑定语句后面的
      

  5.   

    断电打了!s1取的值是页面更新前的数据。不是更新后的数据
    另外我用了session。clear 没有效果