Foros del Web » Programando para Internet » ASPX (.net) »

Response.redirect [ASP.NET 2005]

Estas en el tema de Response.redirect [ASP.NET 2005] en el foro de ASPX (.net) en Foros del Web. Hola, me pasa una cosa rara con el response.redirect. Tengo un linkButton en un web form. Cuando se pulsa, se ejecutan unas tareas. Hasta aquí ...
  #1 (permalink)  
Antiguo 12/02/2007, 10:40
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
Exclamación Response.redirect [ASP.NET 2005]

Hola,

me pasa una cosa rara con el response.redirect.

Tengo un linkButton en un web form. Cuando se pulsa, se ejecutan unas tareas. Hasta aquí todo Ok. Cuando llega al punto:

response.redirect("miPagina.htm")

ocurre un error. Pero lo raro es que redirige correctamente hacia la página.

Claro el problema está en qué si hay un error quiero también redirigir a otra página, por lo cual el usuario ve la página de error. Cuando todo se ha ejecutado ok.

Por ejemplo:

Cita:
Try

'codigo para hacer x tareas
.
.
.
'redirigir a x página
response.redirect("miPagina.htm")
catch ex as exception
response.redirect("error.htm")
end try
El fallo ocurre en el primer response.redirect

Pero en cambio, cuando trata el error hace correctamente el segundo response.redirect: response.redirect("error.htm")


El error que sale es :

Cita:
"System.Threading.ThreadAbortException: Subproceso anulado.
en System.Threading.Thread.AbortInternal()
en System.Threading.Thread.Abort(Object stateInfo)
en System.Web.HttpResponse.End()
en System.Web.HttpResponse.Redirect(String url, Boolean endResponse)
en System.Web.HttpResponse.Redirect(String url)
en ASP.contacto_aspx.LinkButton1_Click(Object sender, EventArgs e) en C:\WEBSITE\miPagina.aspx:línea 19"
saludos
  #2 (permalink)  
Antiguo 12/02/2007, 11:03
Avatar de SuperPinwi  
Fecha de Ingreso: septiembre-2005
Mensajes: 317
Antigüedad: 18 años, 7 meses
Puntos: 1
Re: Response.redirect [ASP.NET 2005]

a la vista del error, (en ASP.contacto_aspx.LinkButton1_Click(Object sender, EventArgs e) en C:\WEBSITE\miPagina.aspx:línea 19") creo que te has equivocado al poner la extensión de la página, así que sería cambiar html por aspx,

response.redirect("miPagina.aspx")

no sé si será eso pero weno jejeje

suerte freegirl!!
  #3 (permalink)  
Antiguo 12/02/2007, 12:31
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
Re: Response.redirect [ASP.NET 2005]

de hecho los Response.Redirect no se deben colocar dentro de un try catch porque siempre marcará una excepción (ya que el redirect no se puede valuar como tal) una solución podría ser la siguiente:

Cita:
Dim sJscript As String = "location.href = 'miPagina.htm';"
Try

'codigo para hacer x tareas
.
.
.
'redirigir a x página
Page.ClientScript.RegisterClientScriptBlock(Page.G etType(), "js", sJscript, True)
catch ex as exception
response.redirect("error.htm")
end try
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #4 (permalink)  
Antiguo 12/02/2007, 13:56
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
Re: Response.redirect [ASP.NET 2005]

Gracias por responder :)

Cita:
de hecho los Response.Redirect no se deben colocar dentro de un try catch porque siempre marcará una excepción (ya que el redirect no se puede valuar como tal)
ok, muchas gracias porque no lo sabía. Probaré tu solución.

saludos
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 04:29.