Foros del Web » Programando para Internet » ASP Clásico »

Redireccion en caso de

Estas en el tema de Redireccion en caso de en el foro de ASP Clásico en Foros del Web. Amigos tengo este script que hace que el usuario acceda a una URL que está guardada en un campo ART_URL de la tabla ENLACES. Por ...
  #1 (permalink)  
Antiguo 20/12/2010, 15:29
 
Fecha de Ingreso: diciembre-2010
Ubicación: Perú
Mensajes: 14
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Redireccion en caso de

Amigos tengo este script que hace que el usuario acceda a una URL que está guardada en un campo ART_URL de la tabla ENLACES. Por cierto abre en una ventana nueva. Lo que quiero es redirigir al usuario en caso que la URL registrada en el campo ART_URL no esté disponible por error (página inexistente, error de servidor, etc)

<% Dim rsDetail__MMColParam, rsDetail, rsDetail_numRows
rsDetail__MMColParam = "1"
If (Request.QueryString("ID") <> "") Then
rsDetail__MMColParam = Request.QueryString("ID")
End If %>

set rsDetail = Server.CreateObject("ADODB.Recordset")
rsDetail.ActiveConnection = MM_connDUarticle_STRING
rsDetail.Source = "SELECT ART_URL FROM ENLACES WHERE ART_ID = " + Replace(rsDetail__MMColParam, "'", "''") + ""
rsDetail.CursorType = 0
rsDetail.CursorLocation = 2
rsDetail.LockType = 3
rsDetail.Open()
rsDetail_numRows = 0
Response.Redirect(rsDetail.Fields.Item("ART_URL"). Value)
rsDetail.Close()
  #2 (permalink)  
Antiguo 20/12/2010, 16:31
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Redireccion en caso de

si la consulta no trae ningún registro o ha habido algún problema en la consulta
Cita:
<% On Error Resume Next %>


if Err.number <> 0 then
Response.Redirect("pagina de error")
elseif not rsDetai.eof = True then
Response.Redirect("pagina no hubo resultados")
else
Response.Redirect(rsDetail.Fields.Item("ART_URL"). Value)
  #3 (permalink)  
Antiguo 21/12/2010, 23:38
 
Fecha de Ingreso: diciembre-2010
Ubicación: Perú
Mensajes: 14
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Respuesta: Redireccion en caso de

IsaBelM primero gracias por responder.
Quiero comentarte que probé el codigo que me mandaste.
tal como está el codigo no funciona.... te cuento que no soy programador y entonces se me complica entender tu respuesta.

Te cuento que el usuario hace click en el archivo xx.asp?id=10 que contiene el script. se abre una ventana y redirige a la URL almacenada en el campo ART_URL.

Lo que deseo es que si la url almacenada ya no es valida, que entonces redirija al usuario a otra página.... te mando el script completo.

<% dim cmdArticles__varLink, cmdArticles
if(Request.QueryString("ID") <> "") then cmdArticles__varLink = Request.QueryString("ID") %>
<% set cmdArticles = Server.CreateObject("ADODB.Command")
cmdArticles.ActiveConnection = MM_connDUarticle_STRING
cmdArticles.CommandText = "UPDATE DIRECTORIO SET ART_VIEWS = ART_VIEWS + 1 WHERE ART_ID = " + Replace(cmdArticles__varLink, "'", "''") + ""
cmdArticles.CommandType = 1
cmdArticles.CommandTimeout = 0
cmdArticles.Prepared = true
cmdArticles.Execute()
Set cmdArticles = Nothing %>
<% Dim rsDetail__MMColParam, rsDetail, rsDetail_numRows
rsDetail__MMColParam = "1"
If (Request.QueryString("ID") <> "") Then
rsDetail__MMColParam = Request.QueryString("ID")
End If %>
<% set rsDetail = Server.CreateObject("ADODB.Recordset")
rsDetail.ActiveConnection = MM_connDUarticle_STRING
rsDetail.Source = "SELECT ART_URL FROM ENLACES WHERE ART_ID = " + Replace(rsDetail__MMColParam, "'", "''") + ""
rsDetail.CursorType = 0
rsDetail.CursorLocation = 2
rsDetail.LockType = 3
rsDetail.Open()
rsDetail_numRows = 0
Response.Redirect(rsDetail.Fields.Item("ART_URL"). Value)
rsDetail.Close() %>

Mucha gracias por tu tiempo
  #4 (permalink)  
Antiguo 22/12/2010, 06:57
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Redireccion en caso de

Cita:
<% On Error Resume Next %> ' Esto lo has de poner antes de nada, incluso lo puedes poner antes que la etiqueta <html>

<% dim cmdArticles__varLink, cmdArticles
if(Request.QueryString("ID") <> "") then cmdArticles__varLink = Request.QueryString("ID") %>
<% set cmdArticles = Server.CreateObject("ADODB.Command")
cmdArticles.ActiveConnection = MM_connDUarticle_STRING
cmdArticles.CommandText = "UPDATE DIRECTORIO SET ART_VIEWS = ART_VIEWS + 1 WHERE ART_ID = " + Replace(cmdArticles__varLink, "'", "''") + ""
cmdArticles.CommandType = 1
cmdArticles.CommandTimeout = 0
cmdArticles.Prepared = true
cmdArticles.Execute()
Set cmdArticles = Nothing %>
<% Dim rsDetail__MMColParam, rsDetail, rsDetail_numRows
rsDetail__MMColParam = "1"
If (Request.QueryString("ID") <> "") Then
rsDetail__MMColParam = Request.QueryString("ID")
End If %>
<% set rsDetail = Server.CreateObject("ADODB.Recordset")
rsDetail.ActiveConnection = MM_connDUarticle_STRING
rsDetail.Source = "SELECT ART_URL FROM ENLACES WHERE ART_ID = " + Replace(rsDetail__MMColParam, "'", "''") + ""
rsDetail.CursorType = 0
rsDetail.CursorLocation = 2
rsDetail.LockType = 3
rsDetail.Open()
rsDetail_numRows = 0

if Err.number <> 0 then
Response.Redirect("pagina de error")
elseif not rsDetai.eof = True then
Response.Redirect("pagina no hubo resultados")
else
Response.Redirect(rsDetail.Fields.Item("ART_URL"). Value)



rsDetail.Close() %>
si no te queda claro busca información sobre el manejador de errores On Error Resume Next

Etiquetas: asp, redirect
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 14:07.