none
Problemas con QueryString en asp,net RRS feed

  • Question

  • Buenas noches a todos.

    De antemano muchas gracias por vuestra ayuda. Tengo un problema con una pagina web que estoy haciendo. Es una pagina de inicio y quiero que reciba unos parametros por QueryString. Cuando la pruebo en localhost no hay manera que pasen esos parametros. En el load de la web pongo el siguiente codigo.

          If Not IsPostBack Then

             For wx = 0 To Request.QueryString.Count - 1
                Request.QueryString.Keys(0).ToString()
                lblmsg.Text += "campo " + Request.QueryString.Keys(0).ToString() + " " + wx.ToString + " "+ vbCrLf
             Next
          End If

    Pero no hay manera de ver nada.

    Podriais orientarme un poco?

    Muchas gracias

    Saturday, January 11, 2020 9:48 PM

Answers

  • hola

    >>Cuando la pruebo en localhost no hay manera que pasen esos parametros

    como le defines los parametros en la url ?

    porque en lugar de hacer algo dinamico simplemente no accedes al parametro por su nombre para ver si lo toma

    lblmsg.Text = Request.QueryString("nombrekey")

    reemplazando nombrekey por la que definas en la url

    la idea es tomar el valor que asignas, no el nombre de la key

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Saturday, January 11, 2020 11:59 PM
  • ¿Podria ser que el servidor me eliminara los querystring?

    Te darías cuenta, porque entonces no verías la querystring en la url del navegador. Si la estás viendo ahí, quiere decir que sí que te está llegando.

    Puedes comprobar lo que llega escribiendo directamente en un label el valor de Request.QueryString (sin for each ni nada). Eso escribe la Query String completa sin separarla en las variables que la componen. También podrías poner un punto de ruptura en esa línea y examinar con el debugger qué es lo que contiene.

    Ojo, para que funcione tienes que estar llamando directamente desde la Url a la página donde se consulta el querystring. Si pasas por intermedio de otra página que hace un Redirect, se pierde el QueryString a no ser que se replique dentro del proceso que hace el Redirect. Lo digo por si acaso entras a esa página pasando por un Login, que internamente hace un Redirect.

    Sunday, January 12, 2020 6:18 PM
  • hola

    >>para ver lo que recibo pero nada.¿ Podria ser que el servidor me eliminara los querystring?

    no

    podrias mostrarnos como defines la url ? mas que nada para ver si los valores que quieres enviar son validos

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Sunday, January 12, 2020 9:39 PM
  • Muchas gracias por responder.

    Eso es lo que quiero hacer pero como no lograba nada he probado a sacar todo lo que recibía por si acaso.

    he cambiado a:

    for each str as string in Request.QuerysTring

                lblmsg.Text += str " "+ vbCrLf

    next

    lblmsg.databing

    para ver lo que recibo pero nada.¿ Podria ser que el servidor me eliminara los querystring?

    Gracias

    Sunday, January 12, 2020 6:02 PM
  • hola

    >>La verdad es que en el navegador solo veo http:www.modularturismo.com

    si terminas viendo solo la url base entonces no vas a poder obtener los valores de la url porque algo te las esta quitando

    Valida en el codigo que no se realiza ningun Redirect que te quite los valores que defines en el querystring, no se quizas alguna autenticacion que implementes

    saludos

    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Monday, January 13, 2020 8:30 PM

All replies

  • hola

    >>Cuando la pruebo en localhost no hay manera que pasen esos parametros

    como le defines los parametros en la url ?

    porque en lugar de hacer algo dinamico simplemente no accedes al parametro por su nombre para ver si lo toma

    lblmsg.Text = Request.QueryString("nombrekey")

    reemplazando nombrekey por la que definas en la url

    la idea es tomar el valor que asignas, no el nombre de la key

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Saturday, January 11, 2020 11:59 PM
  • Muchas gracias por responder.

    Eso es lo que quiero hacer pero como no lograba nada he probado a sacar todo lo que recibía por si acaso.

    he cambiado a:

    for each str as string in Request.QuerysTring

                lblmsg.Text += str " "+ vbCrLf

    next

    lblmsg.databing

    para ver lo que recibo pero nada.¿ Podria ser que el servidor me eliminara los querystring?

    Gracias

    Sunday, January 12, 2020 6:02 PM
  • ¿Podria ser que el servidor me eliminara los querystring?

    Te darías cuenta, porque entonces no verías la querystring en la url del navegador. Si la estás viendo ahí, quiere decir que sí que te está llegando.

    Puedes comprobar lo que llega escribiendo directamente en un label el valor de Request.QueryString (sin for each ni nada). Eso escribe la Query String completa sin separarla en las variables que la componen. También podrías poner un punto de ruptura en esa línea y examinar con el debugger qué es lo que contiene.

    Ojo, para que funcione tienes que estar llamando directamente desde la Url a la página donde se consulta el querystring. Si pasas por intermedio de otra página que hace un Redirect, se pierde el QueryString a no ser que se replique dentro del proceso que hace el Redirect. Lo digo por si acaso entras a esa página pasando por un Login, que internamente hace un Redirect.

    Sunday, January 12, 2020 6:18 PM
  • hola

    >>para ver lo que recibo pero nada.¿ Podria ser que el servidor me eliminara los querystring?

    no

    podrias mostrarnos como defines la url ? mas que nada para ver si los valores que quieres enviar son validos

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Sunday, January 12, 2020 9:39 PM
  • Buenas noches.

    La cadena que envío al navegador es la siguiente:

    http://www.modularturismo.com?encr=no&par=A15256544&nor=C1123449

    La verdad es que en el navegador solo veo http:www.modularturismo.com

    Monday, January 13, 2020 8:11 PM
  • hola

    >>La verdad es que en el navegador solo veo http:www.modularturismo.com

    si terminas viendo solo la url base entonces no vas a poder obtener los valores de la url porque algo te las esta quitando

    Valida en el codigo que no se realiza ningun Redirect que te quite los valores que defines en el querystring, no se quizas alguna autenticacion que implementes

    saludos

    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Monday, January 13, 2020 8:30 PM
  • Hola, mira, para definir los valores explícitos en la URL, tienes que ir a las propiedades del proyecto y ahí configurarlo...

    así

     entonces al iniciar enviará esa URL al navegador.

    Ojo!! esto es solamente para depuración (localhost)

    Saludos


    Monday, January 13, 2020 8:35 PM
  • Muchas gracias.

    Lo probaré.

    Thursday, January 16, 2020 8:42 PM