我正在GridView上應用編輯功能。從gridview中的文本框獲取以前的值
當我的代碼控件在rowupdating事件中時,我發現我從文本框中獲得了以前的值(即,在我使用文本框進行編輯之前的值)。
以下是我的代碼:
Protected Sub gvBooking_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles gvBooking.RowUpdating
'Dim name As String = DirectCast(gvBooking.Rows(e.RowIndex).FindControl("txtperson1"), TextBox).Text
Dim nname As String = (gvBooking.DataKeys(e.RowIndex).Values("person_name").ToString)
Dim id As Integer = Integer.Parse(gvBooking.DataKeys(e.RowIndex).Value.ToString)
Dim carname As String = gvBooking.DataKeys(e.RowIndex).Values("car_name").ToString
Dim carac As String = ""
'Dim sql As String = ""
'sql = "update dbo.tbl_Book set person_name='" + name + "',ac_type='" + carac + "' where booking_id = " + id.ToString
'gc.ExecuteCommand(sql)
'gvBooking.EditIndex = -1
'gc.BindGridView(gvBooking, "select * from tbl_Book")
End Sub
在此,如果我從亨利編輯人名斯科特,然後按更新按鈕,然後我發現通過n名稱是僅具有價值亨利,這是調試器我編輯之前的值,而應該有我編輯的價值斯科特。
我不明白我在哪裏犯錯。
請幫幫我。
我coligues的,可是使用了更新事件和它的工作正常與他們,,我不理解可能會發生什麼 –
不,編碼控制不會在更新的事件 –
請確保您已設置更新事件在您的標記部分。往上看。還編輯了我的答案(最後3行)以檢查更新事件本身中的新值。 –