46 messaggi dal 11 novembre 2002
Grande! Ora me lo studio per benino.

Ciao e grazie.
Paolo.
46 messaggi dal 11 novembre 2002
Per quanto ho capito ad ogni postback le istruzioni date in Javascript vengono ricaricate da zero, perciò il SetTimeout non può partire, se non al caricamento della pagina (Andrea).

Con l'esempio di Pietro mi permette di far avanzare il contatore senza effettuare ogni volta il postback, mi è stato utile anche per capire come in asp.net introdurre il codice Javascript.

Scusate se mi ripeto ma era lo scopo della mia prova:
vorrei caricare la pagina con il contatore fermo, poi con un evento fare partire il contatore, non si può fare in qualche modo?

Ad ogni postback a livello di pagina vengono eseguite le istruzioni Javascript e poi, se ho capito bene, viene tutto azzerato. Non posso attivare un qualcosa che poi faccia partire il contatore? Oppure si dovrebbe generare un evento che non faccia il postback, ma come?

Ciao a tutti.
Paolo
3.939 messaggi dal 28 gennaio 2003
non so se sia questo quello che vuoi. Fai sapere.

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void Button1_Click(object sender, EventArgs e)
    {
        int n = Convert.ToInt16(this.Label1.Text);
        n++;
        this.Label1.Text = n.ToString();

        string codiceJS = @"window.setTimeout(function(){document.getElementById(""Button1"").click();}, 1000);";
        this.ClientScript.RegisterStartupScript(this.GetType(), "load", codiceJS, true);
        
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Pagina senza titolo</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:Label ID="Label1" runat="server" Text="0" Width="46px"></asp:Label>
        <br />
        <br />
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
    </form>
</body>
</html>

46 messaggi dal 11 novembre 2002
Ho provato a riportare il tuo esempio in VB ma da errore sull'assegnazione di codiceJS:

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm6.aspx.vb" Inherits="zProva1.WebForm6"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<script runat=server>

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


Dim n As Integer = Convert.ToInt16(Label1.Text)
n += 1
Label1.Text = n.ToString()
Dim codiceJS As String = "<script>windows.setTimeout(function(){document.getElementById('Button1').click()},1000)</script>"
'ClientScript.RegisterStartupScript(this.GetType(), "load", codiceJS, True)
'RegisterStartupScript("", "<script>window.open('frmStampa.aspx')</script>")

RegisterStartupScript( "load", codiceJS)

End Sub

</script>

<HTML>
<HEAD>
<title>WebForm6</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">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 208px; POSITION: absolute; TOP: 56px" runat="server"
Text="Button" Width="120px" OnClick="Button1_Click"></asp:Button>
<asp:Label id="Label1" style="Z-INDEX: 102; LEFT: 432px; POSITION: absolute; TOP: 56px" runat="server"
Width="168px" Height="24px">0</asp:Label>
</form>
</body>
</HTML>

lo scopo cmq sarebbe quello che premuto il Button parta il contatore.

Ciao e grazie.
Paolo.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.