Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Lancio PopUp da runtime

    ciao,
    io avrei bisogno di lanciare in una certa procedura, una popup per poi richiuderlo a fine istruzione. Un flusso di questo tipo

    codice:
    void myButton_click.....
    {
        apro PopUp
        istruzioni varie
        chiusura PopUp
    }
    questo perchè devo dare un messaggio di attesa all'utente mentre compio alcune operazioni.


    Ciao.

  2. #2
    ho trovato questo esempio:
    codice:
    <SCRIPT LANGUAGE=JAVASCRIPT>
    
    
        function   OpenModalWindow(popupsite,windowname,wnd
    
    Height,wndWidth,ScrollYN) {
        	var X = 0;
        	var Y = 0;
    
    
            	if (screen.availWidth){
            		X = (screen.availWidth / 2) - (wndWidth / 2);
            		Y = (screen.availHeight / 2) - (wndHeight / 2);
            	}
            	childwindow = window.open(popupsite,windowname,"left=" + X + "screenX=" + X + "screenY=" + Y + ",top=" + Y + ",toolbar=0,scrollbars=" + ScrollYN + ",resizable=1,height=" + wndHeight + ",width=" + wndWidth);
            	window.onfocus = function(){if (childwindow.closed == false){childwindow.focus();};};
        }
        </SCRIPT>
    
    la richiamo cosi da runtime:
    this.cmdInvio.Attributes.Add("popup","javascript:OpenModalWindow('wait.htm','popupname',300,200,1)");
    lo script sta nel HEAD, l'aggiunta dell'attributo ho provato a metterlo sia nel load che nell'evento associato al pulsante.


    ma non mi si fila per niente come mai?


    Ciao

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Tu vuoi fare una operazione onerosa (in termini di tempo) nel server, ma vuoi mandare un avviso al cliente, per poi chiudere questo avviso, non appena il server finisce. Ho capito bene o no? :master:

    Ciao
    Pietro

  4. #4
    si proprio cosi.

    praticamente con quello script che vedi riesco a far aprire il popUp però questo non si chiude in automatico.

    Dovrei fare in modo da chiuderlo sempre da runtime a fine procedura.

  5. #5
    Alla fine delle operazioni fai:
    codice:
    Response.Write("<script language='javascript'>self.close();</script>
    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    E' un esempietto: funziona sia con IE sia con Mozilla

    Pagina aspx
    codice:
    <%@ Page Language="vb" AutoEventWireup="false" Codebehind="messaggio_attesa_con_action.aspx.vb" Inherits="corso_apogeo.messaggio_attesa_con_action"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    	<HEAD>
    		<title>messaggio_attesa_con_action</title>
    		<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
    		<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
    		<meta name="vs_defaultClientScript" content="JavaScript">
    		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    		<script language="javascript">
    <!--
    var w_messaggio_popup = null;
    function apre_messaggio_popup()
    {
    	//alert("apre_messaggio_popup");
    	document.Form1.target = "nascosto";
    	w_messaggio_popup = window.open("", "popup", "left=300px,top=50px,width=300px,height=300px,");
    }
    
    function chiude_messaggio_popup()
    {
    	document.Form1.target = "_self";
    	if (w_messaggio_popup != null && w_messaggio_popup.open) w_messaggio_popup.close(); 
    }
    
    //-->
    		</script>
    	<script id="clientEventHandlersJS" language="javascript">
    <!--
    
    function window_onload() {
    	if(parent == self) return;
    	if(parent.chiude_messaggio_popup != undefined) parent.chiude_messaggio_popup();
    }
    
    //-->
    </script>
    </HEAD>
    	<body MS_POSITIONING="FlowLayout" language="javascript" onload="return window_onload()">
    		<iframe name="nascosto" width="0" height="0" style="VISIBILITY:hidden"></iframe>
    		<form id="Form1" method="post" runat="server">
    			<asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
    			<asp:Button id="Button2" runat="server" Text="Button"></asp:Button>
    		</form>
    	</body>
    </HTML>

    codice sottostante:
    codice:
        Private Sub Button1_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Init
            Dim btn As Button = DirectCast(sender, Button)
            btn.Attributes.Add("onclick", "apre_messaggio_popup();")
        End Sub
    L'evento click del pulsante di submit simula un processo oneroso
    codice:
        Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim inizio As DateTime = DateTime.Now
            Do While (Now().Subtract(inizio).Seconds <= 5)
            Loop
    
        End Sub
    Pietro

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: forse non aprirei un popup di messaggio di attesa, ma renderei visibile-invisibile un div fatto esattamente (come grafica, intendo) come quello che hai proposto tempo fa a riguardo di msgbox...
    Pietro

  8. #8
    Hai provato con l'esecuzione delle applicazioni in modalità asincrona? Puoi usare un approccio come questo:
    http://blogs.aspitalia.com/az/post757.aspx

    Nell'esempio è per un web-service, ma puoi richiamare anche funzioni di tue classi presente nella webapplication.

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  9. #9
    si infatti stavo proprio vedendo quell'esempio.

    speriamo che riesca a fare qualcosa.

  10. #10
    I webservice permettono l'esecuzione asincrona di base. In caso di tue classi devi preparare dei delegate coni quali è possibile richiamare i metodi di classe in modalità asincrona.

    Info le trovi qui (nella terza pagina):
    http://www.aspitalia.com/articoli/as...delegates.aspx

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

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 © 2025 vBulletin Solutions, Inc. All rights reserved.