Salvelox, come posso visualizzare una msgbox() da una Sub di una pagina aspx ? Mi pare (dal messaggio di errore) che ci sia qualcosa da settare...
Salvelox, come posso visualizzare una msgbox() da una Sub di una pagina aspx ? Mi pare (dal messaggio di errore) che ci sia qualcosa da settare...
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
Dai un'occhiata a questo sito.
Ci sono delle finestre di dialogo che fanno al caso tuo...
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
ma non c'e' modo di farlo nativamente, senza utilizzare classi di terze parti ?
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
In ASP .NET non c'è il concetto di MessageBox così come lo si conosce nell'ambiente Windows, poichè stiamo progettando un'applicazione Web e non un'applicazione desktop, pertanto si lavora con mezzi visuali sensibilmente diversi per loro natura.
E' possibile ottenere la visualizzazione di un messaggio utilizzando JavaScript che viene generato dalla pagina e restituito al browser da richiamare all'occorrenza.
Per quanto riguarda la validazione degli errori, se è per questo motivo che ti serve la casella di messaggio, puoi controllare se i Validate Controls possono fare al caso tuo senza complicarti la vita introducendo manualmente e autonomamente codice JavaScript specifico nella pagina.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
grazie per la risposta..
voglio utilizzare una messagebox per comunicare che una update su una tabella e' andata a buon fine....
So farlo per quanto riguarda il Summary, ma non per un messaggio generico e personalizzato.
Si devono quindi usare per forza classi di 3e parti ?
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
usa una cosa del genere
codice:<script runat="server"> Sub Page_Load cmd1.Attributes.Add("onClick", "return confirm('ciao?');") End Sub Sub Mia_Sub (sender As Object, e As System.EventArgs) Response.Write("CIAO! .. Hai cliccato su si!") End Sub </script> <form runat="server"> <asp:button runat="server" onclick="Mia_Sub" id="cmd1"/> </form>
Aggiungi in coda alla pagina uno script di questo tipo:Originariamente inviato da djciko
voglio utilizzare una messagebox per comunicare che una update su una tabella e' andata a buon fine....
Per ulteriori delucidazioni, chiedi sul forum Scripting.codice:<script language="JavaScript" type="text/javascript"> alert("Tabella aggiornata."); </script>
Per inserire lo script tramite codice VB .NET o C#, usa il metodo RegisterStartupScript dell'oggetto Page, magari nell'evento OnLoad.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Caso strano, sto lavorando proprio adesso al tuo stesso problema.Originariamente inviato da djciko
grazie per la risposta..
voglio utilizzare una messagebox per comunicare che una update su una tabella e' andata a buon fine....
So farlo per quanto riguarda il Summary, ma non per un messaggio generico e personalizzato.
Si devono quindi usare per forza classi di 3e parti ?
Premesso che ognuno ha i propri gusti, io risolvo così:
nell'evento CLIENT onload della pagina metto:
Cioè, valorizzo la variabile messaggioJS da una variabile server (che incidentalmente ha lo stesso nome, ma sono due cose diverse). Se in messaggioJS c'è qualcosa lo mostro con un alertcodice:function window_onload() { var messaggioJS = "<%=messaggioJS%>"; if(messaggioJS.length != 0) alert(messaggioJS); }
Nel server, nel codice sottostante, creo una variabile protetta stringa:
Quando faccio l'aggiornamento dei dati, dentro il blocco Trycodice:Protected messaggioJS$ = "" 'serve nel client
nel blocco Catch:codice:... Transazione.Commit() messaggioJS = "Dati aggiornati con successo!"
dove toStringaJS è metodo statico di libreria che non fa altro che sostituire i caratteri strani che disturbano javascriptcodice:Transazione.Rollback() Me.messaggioJS = Libreria.toStringaJS(ex.Message)
Una ultima considerazione. Le cose così dette di terze parti, in fondo non fanno (presumo) altro che utilizzare le finestre modeless (non ricordo il nome corretto) che comunque, puoi utilizzare anche tu in maniera diretta, ma che non sono supportate da altri browser se non da IE.codice:Public Function toStringaJS$(ByVal s$) s = s.Replace("""", "\""") s = s.Replace("'", "\'") s = s.Replace(vbNewLine, "\n") Return s End Function
Una ultimissima cosa. Il preferisco, quando è possibile, dividere nettamente, il codice client da quello server. Perciò, il codice client lo scriverò nella pagina, tra i tag <HEAD> e </HEAD>
Scrivere codice javascript dal codice server secondo me limita la leggibilità e la manutenzione futura e dovrebbe essere utilizzata SOLO con parsimonia e solo dove sia strettamente necessaria.
Ad esempio nei controlli utente, nei pulsanti server...
![]()
Pietro
Tutto chiaro, mi sembra una valida soluzione (insieme alle altre, come hai detto tu dipende dai gusti).
Soltanto una cosa non mi e' chiara, (scusa l'ignoranza, ma la mia mente ragiona ancora troppo in ASP Classic)come implemento esattamente l'evento "CLIENTonload" della pagina ?
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
Originariamente inviato da djciko
Tutto chiaro, mi sembra una valida soluzione (insieme alle altre, come hai detto tu dipende dai gusti).
Soltanto una cosa non mi e' chiara, (scusa l'ignoranza, ma la mia mente ragiona ancora troppo in ASP Classic)come implemento esattamente l'evento "CLIENTonload" della pagina ?
scusa, ma che stupidata! anch'io provengo da asp, e meno male. Il lo renderei obbligatorio a tutti quelli che lavorano in asp.net:maLOL:
allora, con visual studio, nel body:
language="javascript" onload="return window_onload()"
![]()
Pietro