Rendere invisibile

mercoledì 13 settembre 2006 - 12.17

realbenny23 Profilo | Junior Member

ciao a tutti,
ho un bottone che quando clicco esegue due store procedure e invia una mail e alcune volte è un po' lento. Ho pensato che quando l'utente clicca sul bottone gli oggetti che ci sono diventano visible=false e compare una scritta "procedimento in corso" e alla fine ricompaiono gli oggetti. come posso fare?

darisole Profilo | Junior Member

In linea di principio inserisci il pulsante in un DIV, con id ad esempio ButtonDiv. Poi crei un altro DIV contenente la scritta "procedimento in corso...", con id ProgressDiv. Al secondo assegni anche l'attributo style

style="display: none;"

crei una funzione JavaScript

function Toggle() { document.getElementById("ButtonDiv").style["display"] = "none"; document.getElementById("ProgressDiv").style["display"] = ""; }

da codice, ad esempio nell'evento Page_Load, aggiungi al pulsante un attributo

button.Attributes.Add("onclick", "javascript:Toggle();");

Devi fare in questo modo perchè se nascondi fisicamente il pulsante con JavaScript (in Explorer) il postback e gli eventi ad esso legati non vengono correttamente gestiti da ASP.NET, in quanto Explorer non invia il nome del pulsante premuto se questo è stato nascosto, quindi è necessario inserirlo in un DIV e nascondere quello.

realbenny23 Profilo | Junior Member

ok grazie funge!!!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5