27 messaggi dal 01 dicembre 2003
Ho provato tramite un ciclo ad impostare l'evento onClientClick di un bottone di una gridview, in questo modo:
int i = 0;
foreach (GridViewRow riga in gridElencoUt.Rows)
{
((Button)riga.Cells[3].Controls[0]).OnClientClick = "javascript:return conferma('" + i.ToString() + "');";
}

Dove la funzione javascript conferma() è così definita:
function conferma(i)
{
if (confirm('Sei sicuro?'))
{
__doPostBack('ctl00$gridElencoUt','Delete$'+ i )
}
return false;
}

in questo modo funziona correttamente.
Ho dovuto fare questo giro richiamando io la postback via javascript perchè se mettevo direttamente un "return confirm('Sei Sicuro?');" o mi dava errore javascript o eseguiva il postback anche se premevo "annulla".
L'html generato veniva -> onClick="return confirm('Sei Sicuro');javascript:__doPostBack('ctl00$gridElencoUt','Delete$0');"

Ho fatto un pò di prove per vedere perchè la prima volta è andato benissimo e dopo invece no (a parte compatibilità dei browser)
Vi chiedo se qualcuno sa e se è possibile, cambiare la proprietà onClientClick dopo che è stata "inizializzata" in modo da mettere una funzione prima del dopostback e dopo la scritta javascript: che penso sia quella che faccia casino.
Usando Evento PreRender della pagina...

Un grazie a quelli che hanno avuto la pazienza di leggere tutto questo!
E mille grazie a chi mi risponderà :D
robertof non ho capito se hai problemi con lo script o è una domanda generica, in questo caso ripostala sul forum

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
27 messaggi dal 01 dicembre 2003
il problema è che se uso direttamente la proprieta onCLientClick il mio HTML sul bottone diventa:
onClick="return confirm('Sei Sicuro');javascript:__doPostBack('ctl00$gridElencoUt','Delete$0');"
che non funziona, in qualsiasi caso fa il postback.

Ho risolto incapsulando tutto anche il postback nella funzione javascript che richiamo, ma non mi sembra la soluzione migliore per scrivere codice riusabile.
Volevo trovare alternativa al fatto di creare un controllo customizzato come segnalato nell'articolo
se ti poni il problema del codice riusabile quello che cerchi è un controllo, le alternative non sono altrettanto riutilizzabili

ciao marco


p.s. scaricalo e vedrai che la CommandField cambia il javascript a seconda della modalità

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.