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

problemas con parametros en Response.Redirect

Estas en el tema de problemas con parametros en Response.Redirect en el foro de .NET en Foros del Web. Hola soy nueva en este foro y tengo un problemita. Estoy intentando hacer un reporte. Y lo estaba haciendo con un gredview en donde obtengo ...
  #1 (permalink)  
Antiguo 04/07/2011, 13:22
 
Fecha de Ingreso: julio-2011
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 1
problemas con parametros en Response.Redirect

Hola soy nueva en este foro y tengo un problemita. Estoy intentando hacer un reporte. Y lo estaba haciendo con un gredview en donde obtengo los datos de una tabla de mi BD y al seleccionar envió por medio de Response.Redirect los parámetros que necesito mostrar en otra página: mostrarReporte.aspx

Estaba todo bien hasta que empecé a ingresar texto más grande y me arroja lo siguiente el visual basic 2010 :

ArgumentException
{"El URI de redireccionamiento no puede contener caracteres de nueva línea."}

Por lo que estuve leyendo es que el response.Redirect no acepta algunos caracteressss .. y necesito de alguna forma que los acepte

Les dejo parte del coodigo

Dim row As GridViewRow = GridView1.SelectedRow

Response.Redirect("mostrarReporte.aspx?grado=" & row.Cells(2).Text & "&area=" & row.Cells(3).Text & "&auditor=" & row.Cells(4).Text & "&noRef=" & row.Cells(5).Text & "&carRef=" & row.Cells(6).Text & "&fecha=" & row.Cells(7).Text & "&descripcion=" & row.Cells(8).Text & "&respArea=" & row.Cells(9).Text & "&fechaDR=" & row.Cells(10).Text & "&fechaDA=" & row.Cells(11).Text & "&corecion=" & row.Cells(12).Text )


esperando alguna respuesta muchas gracias
  #2 (permalink)  
Antiguo 04/07/2011, 13:50
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Respuesta: problemas con parametros en Response.Redirect

Lo que puedes hacer es utilizar UrlEncode y Luego el UrlDecode ya que por querystring algunos caracteres especiales no se pueden mandar

Puedes hacer ésto:

Ejemplo:

Cita:
Dim myParams as String = "grado=" & row.Cells(2).Text & "&area=" & row.Cells(3).Text & "&auditor=" & row.Cells(4).Text & "&noRef=" & row.Cells(5).Text & "&carRef=" & row.Cells(6).Text & "&fecha=" & row.Cells(7).Text & "&descripcion=" & row.Cells(8).Text & "&respArea=" & row.Cells(9).Text & "&fechaDR=" & row.Cells(10).Text & "&fechaDA=" & row.Cells(11).Text & "&corecion=" & row.Cells(12).Text

myParams = Server.UrlEncode(myParams);

Response.Redirect("mostrarReporte.aspx?" + myParams)
y en tu página mostrarReporte.aspx le aplicas un UrlDecode a cada elemento

Espero haber sido claro

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 04/07/2011, 14:16
 
Fecha de Ingreso: julio-2011
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: problemas con parametros en Response.Redirect

gracias probare y te cuento que tal gracias :) por tu rapida y clara respuesta
  #4 (permalink)  
Antiguo 05/07/2011, 10:27
 
Fecha de Ingreso: julio-2011
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: problemas con parametros en Response.Redirect

Cita:
Iniciado por RootK Ver Mensaje

y en tu página mostrarReporte.aspx le aplicas un UrlDecode a cada elemento

Salu2
estimado no me resulta :S he buscado como decodificarlo pero no me resulta mira en mi archivo mostrarReporte.aspx tengo lo siguiente

Dim grado As String = Request.QueryString("grado")
Me.Label30.Text = grado

Dim area As String = Request.QueryString("area")
Me.Label31.Text = area

Dim auditor As String = Request.QueryString("auditor")
Me.Label33.Text = auditor

Dim noRef As String = Request.QueryString("noRef")
Me.Label34.Text = noRef

Dim carRef As String = Request.QueryString("carRef")
Me.Label36.Text = carRef

Dim fecha As String = Request.QueryString("fecha")
Me.Label37.Text = fecha

Dim descripcion As String = Request.QueryString("descripcion")
'Me.TextBox4.Text = descripcion
Me.TextBox18.Text = descripcion

Dim respArea As String = Request.QueryString("respArea")
Me.Label38.Text = respArea


pero no se donde debo decodificar la variable que me recomentaste myParams ?¡

desde ya gracias
  #5 (permalink)  
Antiguo 05/07/2011, 10:33
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: problemas con parametros en Response.Redirect

Has intentado así ? :

Código vb.net:
Ver original
  1. Dim grado As String = Server.UrlDecode(Request.QueryString("grado"))
  2. Me.Label30.Text = grado
  3.  
  4. Dim area As String =Server.UrlDecode( Request.QueryString("area"))
  5. Me.Label31.Text = area
  6.  
  7. Dim auditor As String = Server.UrlDecode(Request.QueryString("auditor"))
  8. Me.Label33.Text = auditor
  9.  
  10. Dim noRef As String = Server.UrlDecode(Request.QueryString("noRef"))
  11. Me.Label34.Text = noRef
  12.  
  13. Dim carRef As String = Server.UrlDecode(Request.QueryString("carRef"))
  14. Me.Label36.Text = carRef
  15.  
  16. Dim fecha As String = Server.UrlDecode(Request.QueryString("fecha"))
  17. Me.Label37.Text = fecha
  18.  
  19. Dim descripcion As String = Server.UrlDecode(Request.QueryString("descripcion"))
  20. 'Me.TextBox4.Text = descripcion
  21. Me.TextBox18.Text = descripcion
  22.  
  23. Dim respArea As String = Request.QueryString("respArea")
  24. Me.Label38.Text = respArea
Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #6 (permalink)  
Antiguo 05/07/2011, 17:20
 
Fecha de Ingreso: julio-2011
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: problemas con parametros en Response.Redirect

Cita:
Iniciado por Aquaventus Ver Mensaje
Has intentado así ? :

Código vb.net:
Ver original
  1. Dim grado As String = Server.UrlDecode(Request.QueryString("grado"))
  2. Me.Label30.Text = grado
  3.  
  4. Dim area As String =Server.UrlDecode( Request.QueryString("area"))
  5. Me.Label31.Text = area
  6.  
  7. Dim auditor As String = Server.UrlDecode(Request.QueryString("auditor"))
  8. Me.Label33.Text = auditor
  9.  
  10. Dim noRef As String = Server.UrlDecode(Request.QueryString("noRef"))
  11. Me.Label34.Text = noRef
  12.  
  13. Dim carRef As String = Server.UrlDecode(Request.QueryString("carRef"))
  14. Me.Label36.Text = carRef
  15.  
  16. Dim fecha As String = Server.UrlDecode(Request.QueryString("fecha"))
  17. Me.Label37.Text = fecha
  18.  
  19. Dim descripcion As String = Server.UrlDecode(Request.QueryString("descripcion"))
  20. 'Me.TextBox4.Text = descripcion
  21. Me.TextBox18.Text = descripcion
  22.  
  23. Dim respArea As String = Request.QueryString("respArea")
  24. Me.Label38.Text = respArea
Saludos!.
me da el siguiente error :

Cita:

Error de servidor en la aplicación '/'.
Se detectó un posible valor Request.QueryString peligroso en el cliente (="...l de Gestión (Sistema Kyo...").
Descripción: La validación de solicitudes ha detectado un valor de entrada del cliente potencialmente peligroso, y se ha anulado el procesamiento de la solicitud. Este valor puede indicar un intento de comprometer la seguridad de la aplicación, como un ataque XSS. Para permitir que las páginas invaliden la configuración de validación de solicitudes de la aplicación, establezca el atributo requestValidationMode de la sección de configuración httpRuntime en requestValidationMode="2.0". Ejemplo: <httpRuntime requestValidationMode="2.0" />. Después de establecer este valor, puede deshabilitar la validación de solicitudes estableciendo validateRequest="false" en la directiva Page o en la sección de configuración <pages>. Sin embargo, es absolutamente recomendable que la aplicación compruebe explícitamente todas las entradas en este caso. Para obtener más información, vea http://go.microsoft.com/fwlink/?LinkId=153133.

Detalles de la excepción: System.Web.HttpRequestValidationException: Se detectó un posible valor Request.QueryString peligroso en el cliente (="...l de Gestión (Sistema Kyo...").

Error de código fuente:

El código fuente que generó esta excepción no controlada sólo se puede mostrar cuando se compila en modo de depuración. Para habilitarlo, siga uno de estos pasos y, a continuación, vuelva a solicitar la dirección URL:

1. Agregue una directiva "Debug=true" en la parte superior del archivo que generó el error. Ejemplo:

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

o:

2) Agregue la siguiente sección al archivo de configuración de su aplicación:

<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>

Tenga en cuenta que esta segunda técnica hará que todos los archivos de una aplicación dada se compilen en modo de depuración. La primera técnica hará que sólo ese archivo en concreto se compile en modo de depuración.

Importante: al ejecutar las aplicaciones en modo de depuración se provoca una sobrecarga de memoria o rendimiento. Debe asegurarse de que la aplicación tiene deshabilitada la depuración antes de implementar en el escenario de producción.
  #7 (permalink)  
Antiguo 05/07/2011, 19:18
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: problemas con parametros en Response.Redirect

postea el codigo de como lo envias tu parametros, para poderte decir como debes leerlos o que estas haciendo mal.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #8 (permalink)  
Antiguo 05/07/2011, 19:50
 
Fecha de Ingreso: julio-2011
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: problemas con parametros en Response.Redirect

Cita:
Iniciado por Aquaventus Ver Mensaje
postea el codigo de como lo envias tu parametros, para poderte decir como debes leerlos o que estas haciendo mal.
envio asi
Código ASP:
Ver original
  1. Dim row As GridViewRow = GridView1.SelectedRow
  2.        
  3.         Dim myParams As String = "grado=" & row.Cells(2).Text & "&area=" & row.Cells(3).Text & "&auditor=" & row.Cells(4).Text & "&noRef=" & row.Cells(5).Text & "&carRef=" & row.Cells(6).Text & "&fecha=" & row.Cells(7).Text & "&descripcion=" & row.Cells(8).Text & "&respArea=" & row.Cells(9).Text & "&fechaDR=" & row.Cells(10).Text & "&fechaDA=" & row.Cells(11).Text & "&corecion=" & row.Cells(12).Text
  4.         myParams = Server.UrlEncode(myParams)
  5.        
  6.         Response.Redirect("impGestionIn.aspx?" + myParams)

recibo en mi mostrarReporte.aspx de la siguiente forma

Código ASP:
Ver original
  1. Dim grado As String = Server.UrlDecode(Request.QueryString("grado"))
  2.         Me.Label30.Text = grado
  3.  
  4.         Dim area As String = Server.UrlDecode(Request.QueryString("area"))
  5.         Me.Label31.Text = area
  6.  
  7.         Dim auditor As String = Server.UrlDecode(Request.QueryString("auditor"))
  8.         Me.Label33.Text = auditor
  9.  
  10.         Dim noRef As String = Server.UrlDecode(Request.QueryString("noRef"))
  11.         Me.Label34.Text = noRef
  12.  
  13.         Dim carRef As String = Server.UrlDecode(Request.QueryString("carRef"))
  14.         Me.Label36.Text = carRef
  15.  
  16.         Dim fecha As String = Server.UrlDecode(Request.QueryString("fecha"))
  17.         Me.Label37.Text = fecha
  18.  
  19.         Dim descripcion As String = Server.UrlDecode(Request.QueryString("descripcion"))
  20.         'Me.TextBox4.Text = descripcion
  21.         Me.TextBox18.Text = descripcion
  22.  
  23.         Dim respArea As String = Server.UrlDecode(Request.QueryString("respArea"))
  24.         Me.Label38.Text = respArea
  25.  
  26.         Dim fechaDR As String = Server.UrlDecode(Request.QueryString("fechaDR"))
  27.         Me.Label39.Text = fechaDR
  28.  
  29.         Dim auditor1 As String = Server.UrlDecode(Request.QueryString("auditor"))
  30.         Me.Label40.Text = auditor1
  31.  
  32.         Dim fechaDA As String = Server.UrlDecode(Request.QueryString("fechaDA"))
  33.         Me.Label41.Text = fechaDA
  34.  
  35.         Dim corecion As String = Server.UrlDecode(Request.QueryString("corecion"))
  36.         Me.TextBox6.Text = corecion



probe tb con HttpUtility.HtmlDecode y me tira el mismo error

Etiquetas: visual
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 01:32.