Visualizzazione dei risultati da 1 a 4 su 4

Hybrid View

  1. #1

    Aggiornamento Etichetta Main Thread

    Ciao a tutti, da buon novizio volevo chiedervi se è possibile quello che ho in mente:

    1) Da pagina Web carico un file, che con UpdateProgress mi fa visualizzare un loading
    2) Finito il caricamento viene eseguito un Delegate che esegue un lavoro... a termine lavoro viene aggiornata una label sulla pagina principale
    3) Terminato il punto 2 parte in automatico un altro delegate e così via..

    E' possibile?

    Scusate a priori se ho detto baggianate

  2. #2

  3. #3
    Grazie punto 1 risolto, Vediamo per gli altri! Buon Anno

  4. #4
    Ciao ho "risolto" il mio problema in questo modo:

    Ho creato un updatepanel con due pulsanti asincroni, uno che fa partire il lavoro
    e quindi il thread contemporaneamente esegue una funzione javascript che ogni secondo cliccka l'altro tasto asincrono che aggiorna la label e controlla che il lavoro sia terminato.


    Codice .net
    codice:
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestPage.aspx.cs" Inherits="Test.TestPage" %>
    
    
    <!DOCTYPE html>
    
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script type="text/javascript">
            function PremiTasto() {
                setInterval(function () { document.getElementById('<%= Button2.ClientID %>').click(); }, 1000);
            }
        </script>
    
    
        <style type="text/css">
            .hidden {
                visibility: hidden;
            }
        </style>
    </head>
    <body>
        <form id="form1" runat="server">
            <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
            <div>
                
                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                    <ContentTemplate>
                        <asp:Button ID="Button1" runat="server" Text="StartThread" OnClientClick="PremiTasto();" OnClick="Button1_Click" />
                        <br />
                        <br />
                        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
                        <br />
                        <br />
                        <asp:Button ID="Button2" CssClass="hidden" runat="server" Text="Aggiorna" OnClick="Button2_Click" EnableTheming="True" />
                    <hr />
                        <asp:Label runat="server" ID="Progress"></asp:Label>
                        <br />
                        <asp:Image runat="server" id="LoaderGif" Width="10%" Height="10%"/>
                    </ContentTemplate>
                    <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="Button1" />
                        <asp:AsyncPostBackTrigger ControlID="Button2" EventName="Click" />
                    </Triggers>
                </asp:UpdatePanel>
    
    
    
    
    
    
    
    
    
    
            </div>
        </form>
    </body>
    </html>

    Codice c#

    codice:
    using System;
    using System.Threading;
    
    
    
    
    namespace Test
    {
        public partial class TestPage : System.Web.UI.Page
        {
            static int n = 0;
            static Thread Test1;
    
    
            public void Button1_Click(object sender, EventArgs e)
            {
                Progress.Text = "..:: Caricamento Dati ::..";
                LoaderGif.ImageUrl = "https://d13yacurqjgara.cloudfront.net/users/12755/screenshots/1037374/hex-loader2.gif";
                Test1 = new Thread(ContaFinoMille);
                Test1.Start();
    
    
            }
    
    
            public void ContaFinoMille()
            {
                Label1.Text = "Numero = " + n.ToString();
                for (int a = 0; a <= 300; a++)
                {
                    n = a;
                    Thread.Sleep(100);
                }
                Test1.Abort();
            }
    
    
    
    
    
    
            protected void Button2_Click(object sender, EventArgs e)
            {
                Label1.Text = n.ToString();
                if (!Test1.IsAlive)
                {
                    Progress.Text = "..:: Fine Caricamento ::..";
                    LoaderGif.ImageUrl = "";
                }
            }
        }
    }

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.