Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887

    Message Box...si ma come ?

    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...

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    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...

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    ma non c'e' modo di farlo nativamente, senza utilizzare classi di terze parti ?

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    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...

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    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 ?

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    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>

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Originariamente inviato da djciko
    voglio utilizzare una messagebox per comunicare che una update su una tabella e' andata a buon fine....
    Aggiungi in coda alla pagina uno script di questo tipo:
    codice:
    <script language="JavaScript" type="text/javascript">
      alert("Tabella aggiornata.");
    </script>
    Per ulteriori delucidazioni, chiedi sul forum Scripting.

    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...

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    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 ?
    Caso strano, sto lavorando proprio adesso al tuo stesso problema.
    Premesso che ognuno ha i propri gusti, io risolvo così:
    nell'evento CLIENT onload della pagina metto:
    codice:
    function window_onload() {
    	var messaggioJS = "<%=messaggioJS%>";
    	if(messaggioJS.length != 0) alert(messaggioJS);
    }
    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 alert

    Nel server, nel codice sottostante, creo una variabile protetta stringa:
    codice:
    Protected messaggioJS$ = "" 'serve nel client
    Quando faccio l'aggiornamento dei dati, dentro il blocco Try
    codice:
    ...
    Transazione.Commit()
    messaggioJS = "Dati aggiornati con successo!"
    nel blocco Catch:
    codice:
    Transazione.Rollback()
    Me.messaggioJS = Libreria.toStringaJS(ex.Message)
    dove toStringaJS è metodo statico di libreria che non fa altro che sostituire i caratteri strani che disturbano javascript

    codice:
        Public Function toStringaJS$(ByVal s$)
            s = s.Replace("""", "\""")
            s = s.Replace("'", "\'")
            s = s.Replace(vbNewLine, "\n")
    
            Return s
    
        End Function
    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.

    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

  9. #9
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    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 ?

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.