none
Por qué se recarga la página cuando pasa el tiempo del Timer RRS feed

  • Pregunta

  • Este es todo el código que tengo.

        Protected Sub oMainPage_Load(sender As Object, e As EventArgs) Handles oMainPage.Load
            Rdm_Img()
        End Sub
    
        Protected Sub Rdm_Img()
    
            Dim imgPath As String
    
            Dim fileCount As Integer = Directory.GetFiles(Server.MapPath("/images/"), "*.png", SearchOption.TopDirectoryOnly).Length
            fileCount = fileCount + 1
    
            imgPath = "images/" + RandomNumber(1, fileCount) + ".png"
    
            oImgAd.ImageUrl = imgPath
    
        End Sub
    
        Protected Function RandomNumber(min As Integer, max As Integer) As String
            Dim i As Integer = 0
            Dim rdm As New Random()
            i = rdm.Next(min, max)
            Return i.ToString
        End Function
    
        Protected Sub oTime_Tick(sender As Object, e As EventArgs) Handles oTime.Elapsed
            oNext.Enabled = True
        End Sub
    
        Protected Sub oNext_Click(sender As Object, e As EventArgs) Handles oNext.Click
            Response.Redirect(Request.RawUrl)
        End Sub


    Si la contestación te ha servido de ayuda márcala como respuesta. Si lo que publico no funciona, no tengo la culpa, SOY HUMANO, no una máquina. M-Registry Cleaner, el programa que he creado con ayuda del foro, ya se puede descargar desde mi página o sino realizar alguna que otra donación en mcaresoft.wordpress.com sería de agradecer.


    • Editado LTNs lunes, 13 de julio de 2015 15:24
    lunes, 13 de julio de 2015 15:23

Todas las respuestas

  • hola

    no se recarga porque el evento se realiza en el servidor, no en el cliente

    si quieres hacerlo de esta forma entonces desde el servidor debes enviar un push al cliente para que actualice y esto solo podrias hacerlo por medio de SignalR

    sino usa un timer del lado del cliente como mencione en tu otra pregunta

    Como uso un Timer


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 13 de julio de 2015 15:59
  • ¿Qué clase de Timer usas? ¿Es un Timer de servidor, o es un System.Web.Extensions.Timer? Si es este último, y se te recarga la página entera cada vez que se dispara el Timer, entonces casi seguro que es debido a que lo has puesto fuera del UpdatePanel en lugar de ponerlo dentro (o conectarlo como PostbackTrigger al UpdatePanel si es que lo quieres dejar fuera).

    lunes, 13 de julio de 2015 16:24
  • Es un System.Web.... así es como lo tengo:

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <asp:ScriptManager ID="ScriptManager1" runat="server">
                    </asp:ScriptManager>
                    <asp:Timer runat="server" Interval="5000" ID="oTime"></asp:Timer>
                    <asp:Button ID="oNext" runat="server" BackColor="#E5761D" BorderStyle="None" Enabled="False" Font-Bold="True" Font-Size="X-Large" ForeColor="White" Height="60px" Text="Next" Width="320px" />
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="oTime" EventName="Tick" />
                </Triggers>
            </asp:UpdatePanel>

    Ahora lo que he conseguido es que no se recargue pero el boton no pasa de enabled = false a true.

    Lo que quiero hacer es que cuando pasen 5 segundos el boton se pueda pulsar.


    Si la contestación te ha servido de ayuda márcala como respuesta. Si lo que publico no funciona, no tengo la culpa, SOY HUMANO, no una máquina. M-Registry Cleaner, el programa que he creado con ayuda del foro, ya se puede descargar desde mi página o sino realizar alguna que otra donación en mcaresoft.wordpress.com sería de agradecer.



    • Editado LTNs lunes, 13 de julio de 2015 16:51
    lunes, 13 de julio de 2015 16:47