ciao!
grazie mille per la risposta, dopo mille peripezie oggi sono riuscito a risolvere il mio problema!
Purtroppo non è affatto chiaro nella documentazione come vengono gestite le classi lato client, ma con un po' di fatica e mille ricerche su internet sono riuscito a capire come fare.
ecco il codice, è semplicissimo:
codice:
[...]
<ClientSideEvents RowClick="function(s, e) {myGridView.GetRowValues(e.visibleIndex, 'campo1;campo2;campo3', openModalWindow);}" />
[...]
<script language = "javascript">
function openModalWindow(values){
var campo1 = values[0];
var campo2 = values[1];
var campo3 = values[2];
[...]
}
</script>
questo codice rileva i valori di campo1, campo2, campo3 della riga selezionata nella grid view, e li passa alla funzione javascript "openModalWindow" che ho inserito nella pagina.
Questa funzione apre una finestra modale passando alla pagina target i valori della riga!
Attenzione!
Su questa cosa ci ho perso una giornata intera:
Nel caso in cui i campi da passare siano più di uno questi devono essere separati da ";" e la funzione javascript li riceve come un unico array.
Così dice la documentazione ufficiale, ma nel caso in cui il campo da passare sia uno soltanto la funzinoe javascript che lo riceve non lo vede come array bensì come una variabile stringa normale.
quindi un operazione come questa
codice:
<script language = "javascript">
function openModalWindow(values){
var campo1 = values[0];
[...]
}
</script>
vi popolerà il campo1 con un valore "undefined" fino a farvi impazzire (come è successo a me)
il codice corretto in questo caso è:
codice:
<script language = "javascript">
function openModalWindow(values){
var campo1 = values;
[...]
}
</script>
..sarà banale ma io proprio non lo sapevo
Non ho capito molto bene quale fosse la tua soluzione e purtroppo ora non ho il tempo di guardarla ma appena ho un attimo di tempo prometto che ci do uno sguardo.
Ti ringrazio comunque per la risposta.
ps: per la cronaca:
i parametri "s" , "e" sono l'equivalente javascript di "object sender" e "eventArgs e" lato server.
Per capire quali siano i rispettivi metodi e proprietà bisogna cercare nella documentazione ufficiale la classe lato server inserendo la parola "Client" dopo il prefisso "Asp".
se ad esempio cercate i metodi javascript della classe "AspGridView" dovrete cercare "AspClientGridView".
ciao a tutti
citrus