2013-08-20 114 views
0

這是我的代碼:我必須在GridView編輯按鈕點擊兩次

Public Sub GridView1_RowEditing(sender As Object, e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GridView1.RowEditing 
    GridView1.EditIndex = e.NewEditIndex 
    If Not IsPostBack Then 
     GridView1.DataBind() 
    End If 
End Sub 

Protected Sub GridView1_RowCancelingEdit(sender As Object, e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GridView1.RowCancelingEdit 
    GridView1.EditIndex = -1 
End Sub 

Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs) Handles GridView1.RowUpdating 
    Dim strid As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("idtxt"), TextBox).Text 
    Dim strFirstName As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("fnmaetxt"), TextBox).Text 
    Dim strLastName As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("lnametxt"), TextBox).Text 
    Dim strAdress As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("adresstxt"), TextBox).Text 
    Dim strEmail As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("emtailtxt"), TextBox).Text 
    Dim strPhone As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("phonetxt"), TextBox).Text 
    Dim strBirthday As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("birthdaytxt"), TextBox).Text 


    x.updateProfile(strid, strFirstName, strLastName, strAdress, strEmail, strBirthday, strPhone) 
    If Not IsPostBack Then 
     GridView1.DataBind() 
    End If 
    GridView1.EditIndex = -1 
End Sub 

的問題是,我必須在編輯按鈕點擊兩次進入編輯模式,並兩次取消按鈕回到編輯模式,當我更新時,我必須重新點擊更新才能回到編輯模式,當我重新點擊它時,所有字段都變爲空白。

任何幫助?

+0

這看起來不像MVC。這可能是一個很大的提取,我曾經有過類似的事情,那是因爲有人玩過驗證的Page_BlockSubmit變量。 –

回答

0

您需要點擊一次以獲得焦點,然後再次執行perfrorm編輯。我爲這個問題所做的解決方法是在網格中處理PreviewLeftMouseButton,我測試如果單擊的元素是一個行元素,那麼我有它的重點,我不要求點擊處理。

相關問題