Nel codebehind intercetto il command di un detailsview in questo modo:
codice:
Protected Sub DetailsView1_ItemCommand(ByVal sender As Object, ByVal e As DetailsViewCommandEventArgs) Handles DetailsView1.ItemCommand
        Select Case e.CommandName
            Case DataControlCommands.InsertCommandName
                If checkdata() Then
                    SqlDataSource2.Insert()
                Else
                    Me.lblresult.Visible = "True"
                    Me.lblresult.Text = "Correggere e riprovare."
                End If


            Case DataControlCommands.UpdateCommandName
                If checkdata() Then
                    SqlDataSource2.Update()
                Else
                    Me.lblresult.Visible = "True"
                    Me.lblresult.Text = "Correggere e riprovare."
                End If
        End Select
    End Sub
All'esecuzione del comando dovrebbe anteporre un controllo che viene fatto dalla funzione checkdata e se l'esito della funzione è true dovrebbe proseguire altrimenti mostrarmi l'errore in una label.
Nella funzione ci entra e quando dà esito false fa anche la visualizzazione della label ma poi esegue anche l'insert (o l'update) indipendentemente dall'esito della funzione ... come faccio a impedirglielo?