none
visualizzazione finestra con effetto fadein,fadeout da metodo in c# RRS feed

  • Domanda

  • In una particolare condizione applicativa devo poter far aprire una finestra, con jquery, che deve visualizzare un messaggio e poi scomparire dopo un time out.

    Nella pagina .aspx ho effettuato le seguenti impostazioni:

    1) creato il <div> per potermi agganciare come messaggio e finestra.

       
    <div id="boxBtnNuovo" runat="server" class="box"/>



    2) con css definito la finestra (molto spartana e migliorabile

    #boxBtnNuovo {
        width:400px;
        height:200px;
        background-color:#CCCCCC;
        border:1px solid #666666;
    }



    3) definita la funzione jquery

     
    <script type="text/javascript">
    function test_fadeIn() {
        $("#boxBtnNuovo").fadeIn(100, "slow");
        $("#boxBtnNuovo").hide("drop", { direction: "down" }, "slow");
    
    }
    </script>
    

    Ribadisco l'effetto che dovrebbe essere generato:

    Aprire la finestra e permettere all'utente di visualizzare il contenuto, poi, passato il timeout impostato per la visualizzazione del messaggio, fare scomparire la finestra con effetto .hide

    Il codice che ho messo fa apparire la finestra solamente.

    nel metodo della pagina Codebehind associata faccio partire la funzione jquery in questo modo

    protected void btnNuovo_Click(object sender, EventArgs e) { string strResult = ""; Button1Continua.Enabled = true; // Session["Funzione"] = "Insert"; AzzeraCampi(); AzzeraDatiCommanda(); AzzeraSession(); lblErrore.Text = ""; lblErrore.Visible = false; // preparo il messaggio da inviare all'operatore in occasione di nuova commanda strResult += "<Div ID=boxBtnNuovo>" + " Stai per registrare una nuova Commanda di Merda</ div >"; boxBtnNuovo.InnerHtml = strResult; // Eseguo la funzione javascript jquery ui RegisterStartupScript("", "<script language = 'javacsript'>test_fadeIn();</script>"); }


    dove sta l'errore ?

    Grazie

    Moreno

    lunedì 22 febbraio 2016 17:44

Risposte

  • Buonasera Moreno,
    se la tua funzione Javascript si chiama test_FadeIn() il metodo RegisterStartupScript dovresti dichiararlo così:
    Page.ClientScript.RegisterStartupScript(this.GetType(), "MiaFunzioneFade", "test_fadeIn()", true);
    
    Nota che l'ho scritto a mano, senza IDE.
    Inoltre ti scrivo un piccolo esempio completo:
    <script type="text/javascript">
      function test_paolo() {
         alert("Ciao Paolo");
              }
    </script>
    <asp:Button runat="server" Text="vai" onclick="Btn_Click" />
    la richiami così:
    protected void Btn_Click(object sender, EventArgs e)
        {
    
            Page.ClientScript.RegisterStartupScript(this.GetType(), "MiaFunzioneFade", "test_paolo()", true);
    
        }

    Ciao


    Paolo Pranzo

    lunedì 22 febbraio 2016 19:39
  • Ciao Moreno,
    il parametro MiaFunzioneFade lo puoi cambiare come vuoi tranquillamente.
    Non ti funziona lo script perché la sintassi JQuery è sbagliata.
    Prova questa:
    $("#boxBtnNuovo").fadeIn(3000);
    $("#boxBtnNuovo").fadeOut(3000);
    Se non dovesse andare cerca su internet FadeIn Jquery, troverai tonnellate di tutorial.

    Ciao


    Paolo Pranzo

    venerdì 26 febbraio 2016 14:42

Tutte le risposte

  • Buonasera Moreno,
    se la tua funzione Javascript si chiama test_FadeIn() il metodo RegisterStartupScript dovresti dichiararlo così:
    Page.ClientScript.RegisterStartupScript(this.GetType(), "MiaFunzioneFade", "test_fadeIn()", true);
    
    Nota che l'ho scritto a mano, senza IDE.
    Inoltre ti scrivo un piccolo esempio completo:
    <script type="text/javascript">
      function test_paolo() {
         alert("Ciao Paolo");
              }
    </script>
    <asp:Button runat="server" Text="vai" onclick="Btn_Click" />
    la richiami così:
    protected void Btn_Click(object sender, EventArgs e)
        {
    
            Page.ClientScript.RegisterStartupScript(this.GetType(), "MiaFunzioneFade", "test_paolo()", true);
    
        }

    Ciao


    Paolo Pranzo

    lunedì 22 febbraio 2016 19:39
  • Ciao Paolo

    grazie per il formalismo.

    lo script che deve essere eseguito è

     <script type="text/javascript">
    function test_fadeIn() {
        $("#boxBtnNuovo").fadeIn(1000, "slow");
         $("#boxBtnNuovo").hide(10000,"drop", { direction: "down" }, "slow");  
    
    }
    
    </script>

    con il formalismo che mi hai passat e precisamente

    Page.ClientScript.RegisterStartupScript(this.GetType(), "MiaFunzioneFade", "test_fadein()", true);

    viene visualizzato il messaggio, ma come vedi lo script javascript Test_fadein deve fare 2 cose e precisamnte:

    1) aprire una finestra con effetto fadein, con time out impostato;

    2) far SCOMPARIRE la finestra, con Time Out impostato

    RISULTATO:

    Viene aperta la finestra solamente e non viene eseguito il secondo comando jquery per far scomparire la finestra aperta.

    Forse non è il comando corretto per far avvenire questo effetto o non viene eseguito il secondo comanda jquery.

    Spero di vaerti chiarito  il senso di che effetti devono essere eseguiti sulla finestra.

    ciao

    Moreno

    Una precisazione:   il parametro"MiaFunzioneFade" che hai inserito nello script, va personalizzato o deve restare così ?

    venerdì 26 febbraio 2016 14:20
  • Ciao Moreno,
    il parametro MiaFunzioneFade lo puoi cambiare come vuoi tranquillamente.
    Non ti funziona lo script perché la sintassi JQuery è sbagliata.
    Prova questa:
    $("#boxBtnNuovo").fadeIn(3000);
    $("#boxBtnNuovo").fadeOut(3000);
    Se non dovesse andare cerca su internet FadeIn Jquery, troverai tonnellate di tutorial.

    Ciao


    Paolo Pranzo

    venerdì 26 febbraio 2016 14:42