Foros del Web » Programación para mayores de 30 ;) » .NET »

Lógica de los botones de atrás y adelante de los navegadores

Estas en el tema de Lógica de los botones de atrás y adelante de los navegadores en el foro de .NET en Foros del Web. hola a todos !!! Quisiera saber si alguien conoce la lógica de los botones de adelante y atrás de los botones de navegación de los ...
  #1 (permalink)  
Antiguo 08/06/2007, 09:23
 
Fecha de Ingreso: octubre-2005
Mensajes: 180
Antigüedad: 18 años, 6 meses
Puntos: 0
Lógica de los botones de atrás y adelante de los navegadores

hola a todos !!!

Quisiera saber si alguien conoce la lógica de los botones de adelante y atrás de los botones de navegación de los navegadores de internet; esto debido a que tengo una aplicación en vb.net 2005 y voy hacer esos botones a mano, ya tengo una parte es decir ; utilizo un control webbrowser para mostrar los datos html de mi dato seleccionado ahora bien através de una propiedad del mismo control recupero el html y lo almaceno en un array...de tipo string ... Ahora bien abro la pagina1, la 2, la 3, y la 4... en ese momento mi array ya tiene esos 4 elementos; para regresar a la pagina3 lo que hago es restarle 1 a la posicion actual y ya tengo una variable publica que me trae el valor de atras, ahora para darle adelante le sumo a la variable atrás 1 y ya tengo page de adelante.... Eso funciona pérfecto hasta ahí....

El detalle viene cuando por decirlo de la page4 le doy atras y me manda a la 3 y de la 3 me voy a la 2 (Hasta aqui perfecto e incluso si voy hacia adelante), pero si en esa page 2 hay un vinculo y le doy clic, ahora mi vector ya tendrá 5 elementos... Y mi posicion actual cambio y para el histórico de atrás ya no funciona la lógica de que a la pocion actual a restarle 1 por ke me regresaria la page4 y la que me debería regresar es la page2....

Espero que me echen una ayudadita... De antemano mil graciaas

Bitss---Miguel---in---
  #2 (permalink)  
Antiguo 08/06/2007, 11:52
 
Fecha de Ingreso: octubre-2005
Mensajes: 180
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Lógica de los botones de atrás y adelante de los navegadores

Ya quedo solucionado....Es casí la misma lógica que les plantee arriba nada mas que apoyada de otras variables públicas para hacer ciertas condiciones....

Gracias de todas formas....

Bits..--Miguel--in--............
  #3 (permalink)  
Antiguo 11/06/2007, 00:26
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Re: Lógica de los botones de atrás y adelante de los navegadores

Pues podías poner el código de cómo te quedo para verlo...

Aunque, no sé,... ¿no hubiese valido poniéndole a los botones el javascript [history.go(-1) ó history.go(+1)]...?
__________________
Saludos,

zacktagnan.
=================================================
  #4 (permalink)  
Antiguo 11/06/2007, 07:36
 
Fecha de Ingreso: octubre-2005
Mensajes: 180
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: Lógica de los botones de atrás y adelante de los navegadores

hola amigo!!!

No puedo hacer uso de esos javascript pór que la app es de escritorio; de hecho manejo un control webbrowser que acepta paginas html, de hecho volque todo un portal web a la app entonces queria que la navegación fuese similar a cualquier navegador de internet; el control si tiene la opcion de ir hacia adelante y hacia atrás pero siempre y cuando los vinculos fuesen hacia internet y como te repito yo tengo el portal en la app (hasta con la bd que la migre a sql server CE)... Por tal razón cada vez que hacia clic en cualquier parte de mi app donde me referencía a traer un dato de la db pongo esta función:
Código:
creaposicion(micontenido, nombrecontenido)
Y Tengo un modulo en el cual tengo mi función que devuelve datos de tipo array.... la cual es la siguiente:

Código:
Function creaposicion(ByVal cadena As String, ByVal titulos As String) As Array
        Dim sString As String = cadena
        Dim stitulo As String = titulos
        If posicion = -1 Then
            atras = -1
            texto(0) = sString
            titulo(0) = stitulo
            posicion = 0
        Else
            Dim a As Int16 = texto.Length
            If atras = -1 Or aux > 1 Then
                ReDim Preserve texto(a)
                ReDim Preserve titulo(a)
                texto(a) = sString
                titulo(a) = titulos
                posicion = a
                auxposicion = posicion
            Else

                ReDim Preserve texto(a)
                ReDim Preserve titulo(a)
                texto(a) = texto(atras)
                titulo(a) = titulo(atras)
                ReDim Preserve texto(a + 1)
                ReDim Preserve titulo(a + 1)
                texto(a + 1) = sString
                titulo(a + 1) = titulos
                posicion = a + 1
                auxposicion = posicion
            End If
        End If
        Return texto
    End Function
Me preguntarás ; por que no usé un array multidimensional?... La respuesta es sencilla debido a que utilizo redimensionamientos para las filas y hasta donde leí la ayuda del msdn se puede redimensionar la dimensión mas a la derecha; es decir la columna, si tomamos en cuenta array(fila,columna)... y yo quería redimensionar las filas.... Así que use dos array y tan tan funciona...

Ahora en los botones que tengo en mi app que dicen adelante y atrás quedan de la siguiente forma:

Boton atrás:

Código:
Private Sub btnatras_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnatras.Click
        atras = auxposicion - 1
        If Len(posicion) > 0 Then
            If atras >= 0 And atras < posicion Then
'wbcontenido es el webbrowser en el cual vacio mis datos html que traigo de mi bd sql server CE con su propiedad Documenttext
                wbcontenido.DocumentText = texto(atras)
                txtley.Text = titulo(atras)
                auxposicion = auxposicion - 1
                aux = 0
            End If
        End If
    End Sub
Botón Adelante:

Código:
Private Sub btnadelante_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnadelante.Click
        adelante = auxposicion + 1
        If Len(auxposicion) > 0 Then
            If adelante <= posicion Then
                wbcontenido.DocumentText = texto(adelante)
                txtley.Text = titulo(adelante)
                auxposicion = auxposicion + 1
                aux = 1
            End If
        End If
    End Sub
Es una explicación de manera general... Espero y les ayude en alguna ocasión........

Bitss--Miguel--in----..........
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:45.