Provo basandomi sul codice che hai girato te prima, ma non è detto che sia la soluzione corretta o cmq che sia la migliore.
Lato server la tua funzione potrebbe essere questa:
Public Function Annulla()
Dim strSelect As String
Dim strSQL As String
Dim i As Integer = 0
Dim ContatoreCeck As Integer
Dim Verifica As Boolean = False
'*** prima erano dichiarate nel ciclo; meglio farlo una volta sola.
Dim Campo1, Campo2 As String
Dim Campo3, Campo4 As Integer
Dim ceck As String
Dim comandoJavaScript as string
CaricaDataGrid2(Datagrid2.CurrentPageIndex, Datagrid2.CurrentPageIndex)
Dim dt As DataTable = CType(Session("MyDataSource2"), DataTable)
Dim dt2 As DataTable = CType(Session("MyDataSourcebis"), DataTable)
For Each item As DataRow In dt.Rows
Campo1 = item(4)
Campo2 = item(5)
Campo2 = VerificaSocieta(Campo2)
Campo3 = item(7)
Campo4 = item(11)
ceck = dt2.Rows(i)(0)
If ceck = "True" Then
comandoJavaScript += "window.showModalDialog('Annulla.aspx?Matricola=" & Matricola & "&AnnoMiss=" & AnnoMiss & "&Societa=" & Societa & "&NMissione=" & NMissione & "', null, 'dialogWidth:260px;dialogHeight:250;dialogTop:200px;dialogLeft:200px;resizable:false');" + chr(10) + chr(13)
ContatoreCeck = ContatoreCeck + 1
Else
Exit Function
End If
i = i + 1
Next
if comandoJavaScript <> string.empty then
'*** aggiunge il codice per ricaricare la pagina con un parametro (REFRESH_GRID per esempio) che indicherà se deve essere rinfrescata la griglia
comandoJavaScript += "document.forms[0].action+='?REFRESH_GRID=1'; document.forms[0].submit();"
RegisterClientScriptBlock("nomeCheVuoi", "<script language=Javascript>" + comandoJavaScript + "</script>")
end if
End Function
A questo punto dovrebbe bastare che sul Page_Load della pagina controllare se Request.QueryString("REFRESH_GRID") è uguale a 1 e, nel caso lo sia, eseguire il refresh della griglia.
Prendila molto alla leggera perchè il codice non l'ho testato e cmq il problema non mi è completamente chiaro; ci sono modi migliori ma un pò più lunghi e complicati da spiegare... :O)
Ciao ciao
P.S.: il codice scritto così dovrebbe eseguire sempre il refresh se viene aperta almeno una popup.
Modificato da valerio.servetto il 19 aprile 2006 15.32 -