Mi trovo in una view di una multiview con all'interno un detailsview in modalità insert, sto inserendo una serie di dati in db: sull'evento inserting del datasource associato al detailview verifico alcune cose e se non passa la verifica lancio un alert e interrompo l'inserting e...
a questo punto mi aspetterei di rivedere il form con i dati che stavo inserendo prima dell'interruzione e invece scompare del tutto il form... cosa sbaglio?
Questo è il codice nell'evento inserting (ma faccio lo stesso sull'updating e ho lo stesso problema):
codice:
Protected Sub SqlDetail_Inserting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceCommandEventArgs) Handles SqlDetail.Inserting
'controllo se il codice che sto inserendo è già presente in db creando un sqldatareader
...
If Not rs.HasRows Then
procedi = True
Else
almes = "ATTENZIONE esiste già un cliente con questo codice conto. Modificare il dato./n"
End If
'finalize
If Not procedi Then
'blocca l'inserting e lancia alert
almes = "alert('" & almes & "');"
Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "MyScript", almes, True)
e.Cancel = True
End If
End Sub
Ho provato anche a forzare la visualizzazione del detailview con
DetailsView1.ChangeMode(DetailsViewMode.Insert)
messo dopo l'e.cancel = true ma niente da fare.
Ho verificato anche che non fosse cambiata la view del multiview, magari poteva essersi spostata sulla views(0) ma no, resta sulls views giusta...
Help.