Id. de artículo: 312063 - Última revisión: viernes, 16 de junio de 2006 - Versión: 3.2

CÓMO: Usar Response.Redirect en ASP.NET con Visual Basic .NET

Nota acerca de su sistema operativoEste artículo se aplica a un sistema operativo distinto al que usa. El contenido del artículo que puede que no sea importante para usted, se deshabilitará

En esta página

Expandir todo | Contraer todo

Resumen

En este artículo se muestra cómo utilizar el método Redirect de la clase HttpResponse en aplicaciones ASP.NET para redirigir a un usuario a otra dirección URL.

Requisitos

En la lista siguiente se indican el hardware, el software, la infraestructura de red y los Service Pack recomendados que necesitará:
  • Microsoft Windows 2000 o Microsoft Windows XP
  • Microsoft .NET Framework
  • Microsoft Internet Information Server (IIS)

Crear una aplicación Web ASP.NET utilizando Visual Basic .NET

Los pasos siguientes demuestran cómo crear un nuevo proyecto de aplicación Web ASP.NET denominado Redirector.
  1. Abra Microsoft Visual Studio .NET.
  2. En el menú Archivo, seleccione Nuevo y haga clic en Proyecto.
  3. En el cuadro de diálogo Nuevo proyecto, en Tipos de proyecto, haga clic en Proyectos de Visual Basic. En Plantillas, haga clic en Aplicación Web ASP.NET.
  4. En el cuadro de texto Ubicación, escriba Redirector. Si está utilizando el servidor local, puede dejar el nombre del servidor como http://localhost de forma que el cuadro de texto Ubicación esté establecido en http://localhost/Redirector.

Descripción del método HttpResponse.Redirect

La clase HttpResponse implementa dos versiones sobrecargadas del método Redirect.
  • El primer método sobrecargado sólo toma un parámetro de entrada, que es la dirección URL de la ubicación de destino. Esta versión se define de la manera siguiente:
    Overloads Public Sub Redirect(ByVal url As String)  
    					
  • El segundo método sobrecargado toma dos parámetros de entrada: la dirección URL de la ubicación de destino y un valor booleano que indica si se dejará de ejecutar o no la página actual. Esta versión se define de la manera siguiente:
    Overloads Public Sub Redirect(ByVal url As String, _ ByVal endResponse As Boolean) 
    					
Cuando utiliza la primera versión sobrecargada, se llama internamente a la segunda versión sobrecargada y se le pasa un valor booleano de True para el segundo parámetro de entrada. Para obtener más información acerca de la clase HttpResponse y sus métodos relacionados, consulte la sección REFERENCIAS.

Crear un ejemplo que funcione

En este ejemplo se muestra cómo implementar el método Redirect en el evento Page_Load de una página de código subyacente. Este código implementa la primera versión sobrecargada que se muestra en la sección anterior.
  1. Siga estos pasos para agregar un nuevo formulario Web denominado Redirector_Test.aspx:
    1. En el Explorador de soluciones, haga clic con el botón secundario del mouse (ratón) en el nodo del proyecto, seleccione Agregar y haga clic en Agregar Web Forms.
    2. Asigne a la página .aspx el nombre Redirector_Test.aspx y haga clic en Abrir.
  2. En el editor, haga clic con el botón secundario del mouse en la página .aspx y, después, haga clic en Ver código. Se abrirá la página de código subyacente en el editor.
  3. Agregue el código siguiente al evento Page_Load:
         Response.Redirect("http://www.microsoft.com")
    					
  4. En el menú Archivo, haga clic en Guardar todo para guardar el Web Form y otros archivos asociados al proyecto.
  5. En el Entorno de desarrollo integrado (IDE) de Visual Studio .NET, en el menú Generar, haga clic en Generar para generar el proyecto.
  6. En el Explorador de soluciones, haga clic con el botón secundario del mouse en la página y, después, haga clic en Ver en el explorador para ejecutar la página. Observe que la página se abrirá en el explorador y le redirigirá automáticamente al sitio Web de Microsoft.

Solución de problemas

  • Si intenta la redirección después de que se envíen los encabezados al explorador recibirá una excepción HttpException. Para resolver este problema, utilice la propiedad HttpResponse.BufferOutput para almacenar en búfer el resultado cuando sea apropiado. Esta propiedad se establece en True de manera predeterminada.

    Para obtener más información acerca de la propiedad HttpResponse.BufferOutput, consulte la sección REFERENCIAS.
  • Puede recibir una excepción ThreadAbortException cuando utilice este método.Para obtener información adicional al respecto, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    312629  (http://support.microsoft.com/kb/312629/ ) PRB: Se produce ThreadAbortException si usa Response.End, Response.Redirect o Server.Transfer

Referencias

Para obtener más información al respecto, consulte los temas siguientes en la documentación del Kit de desarrollo de software (SDK) de Microsoft .NET Framework:
Clase HttpResponse
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWebHttpResponseClassTopic.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWebHttpResponseClassTopic.asp)

Método HttpResponse.Redirect
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwebhttpresponseclassredirecttopic.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwebhttpresponseclassredirecttopic.asp)

Propiedad HttpResponse.BufferOutput
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwebhttpresponseclassbufferoutputtopic.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwebhttpresponseclassbufferoutputtopic.asp)
El Centro para desarrolladores de ASP.NET (http://www.microsoft.com/spanish/msdn/centro_recursos/asp_net/default.mspx) es una buena fuente para encontrar artículos, noticias y otra información relacionada con ASP.NET.

Para ver los tutoriales de .NET Framework y Visual Studio .NET, visite el siguiente sitio Web de Microsoft:
http://www.gotdotnet.com (http://www.gotdotnet.com)
Para ver una introducción a ASP.NET, consulte la siguiente sección en GotDotNet:
Tutoriales de ASP.NET
http://samples.gotdotnet.com/quickstart/aspplus/ (http://samples.gotdotnet.com/quickstart/aspplus/)

La información de este artículo se refiere a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palabras clave: 
kbhowtomaster KB312063