#864 - Un CommandField personalizzato per GridView con alert di conferma
robertof non è online. Ultima attività: 04/06/2008 20.22.23robertof
Inserito il: 02 maggio 2008 01.28
26 messaggi dal 01 dic 2003 Istalla Microsoft Silverlight!
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
Microsoft Most Valuable Professional
RE: #864 - Un CommandField personalizzato per GridView con alert di conferma
nostromo non è online. Ultima attività: 25/07/2008 12.15.07nostromo
Inserito il: 02 maggio 2008 10.30
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 11717 messaggi dal 18 feb 2004 Istalla Microsoft Silverlight!
robertof non ho capito se hai problemi con lo script o è una domanda generica, in questo caso ripostala sul forum

ciao marco

Where we're going, we don't need roads!
http://nostromo.spaces.live.com/default.aspx
RE: #864 - Un CommandField personalizzato per GridView con alert di conferma
robertof non è online. Ultima attività: 04/06/2008 20.22.23robertof
Inserito il: 02 maggio 2008 10.39
26 messaggi dal 01 dic 2003 Istalla Microsoft Silverlight!
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
Microsoft Most Valuable Professional
RE: #864 - Un CommandField personalizzato per GridView con alert di conferma
nostromo non è online. Ultima attività: 25/07/2008 12.15.07nostromo
Inserito il: 02 maggio 2008 10.49
contributi / Top Poster / Community manager / www.soluzioni4d.it / Blog / 11717 messaggi dal 18 feb 2004 Istalla Microsoft Silverlight!
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à

Where we're going, we don't need roads!
http://nostromo.spaces.live.com/default.aspx

Vai a:

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.


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums