Principales respuestas
Problemas con QueryString en asp,net

Pregunta
-
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
Respuestas
-
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- Propuesto como respuesta Diana AcuñaModerator lunes, 13 de enero de 2020 16:16
- Marcado como respuesta Pablo RubioModerator viernes, 17 de enero de 2020 16:55
-
¿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.
- Propuesto como respuesta Diana AcuñaModerator lunes, 13 de enero de 2020 16:16
- Marcado como respuesta Pablo RubioModerator viernes, 17 de enero de 2020 16:56
-
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- Propuesto como respuesta Diana AcuñaModerator lunes, 13 de enero de 2020 16:16
- Marcado como respuesta Pablo RubioModerator viernes, 17 de enero de 2020 16:56
-
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
- Marcado como respuesta Pablo RubioModerator viernes, 17 de enero de 2020 16:55
-
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
saludosLeandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Marcado como respuesta Pablo RubioModerator viernes, 17 de enero de 2020 16:56
Todas las respuestas
-
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- Propuesto como respuesta Diana AcuñaModerator lunes, 13 de enero de 2020 16:16
- Marcado como respuesta Pablo RubioModerator viernes, 17 de enero de 2020 16:55
-
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
- Marcado como respuesta Pablo RubioModerator viernes, 17 de enero de 2020 16:55
-
¿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.
- Propuesto como respuesta Diana AcuñaModerator lunes, 13 de enero de 2020 16:16
- Marcado como respuesta Pablo RubioModerator viernes, 17 de enero de 2020 16:56
-
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- Propuesto como respuesta Diana AcuñaModerator lunes, 13 de enero de 2020 16:16
- Marcado como respuesta Pablo RubioModerator viernes, 17 de enero de 2020 16:56
-
-
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
saludosLeandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Marcado como respuesta Pablo RubioModerator viernes, 17 de enero de 2020 16:56
-
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
- Editado Enrique Aleman lunes, 13 de enero de 2020 20:37
-