HttpResponse.Redirect Método

Definición

Redirecciona un cliente a una nueva dirección URL.Redirects a client to a new URL.

Sobrecargas

Redirect(String)

Redirecciona una solicitud a una nueva dirección URL y especifica la nueva URL.Redirects a request to a new URL and specifies the new URL.

Redirect(String, Boolean)

Redirecciona un cliente a una nueva dirección URL.Redirects a client to a new URL. Especifica la nueva URL y si la ejecución de la página actual debe finalizar.Specifies the new URL and whether execution of the current page should terminate.

Redirect(String)

Redirecciona una solicitud a una nueva dirección URL y especifica la nueva URL.Redirects a request to a new URL and specifies the new URL.

public:
 void Redirect(System::String ^ url);
public void Redirect (string url);
member this.Redirect : string -> unit
Public Sub Redirect (url As String)

Parámetros

url
String

Ubicación de destino.The target location. Puede ser una ruta de acceso virtual relativa a la aplicación.This may be an application-relative virtual path.

Excepciones

Se intentó el redireccionamiento después de enviar los encabezados HTTP.A redirection is attempted after the HTTP headers have been sent.

Ejemplos

En el ejemplo siguiente se fuerza una redirección incondicional a otro sitio Web.The following example forces an unconditional redirection to another Web site.

Response.Redirect("http://www.microsoft.com/gohere/look.htm");
   
Response.Redirect("http://www.microsoft.com/gohere/look.htm")
   

Comentarios

Llamar Redirect a es equivalente a Redirect llamar a con el segundo parámetro trueestablecido en.Calling Redirect is equivalent to calling Redirect with the second parameter set to true.

Redirectllama End a cuando se produce ThreadAbortException una excepción al finalizar.Redirect calls End which throws a ThreadAbortException exception upon completion. Esta excepción tiene un efecto perjudicial en el rendimiento de las aplicaciones Web.This exception has a detrimental effect on Web application performance. Por lo tanto, se recomienda que en lugar de esta sobrecarga use HttpResponse.Redirect(String, Boolean) la sobrecarga y false pase para endResponse el parámetro y, a continuación CompleteRequest , llame al método.Therefore, we recommend that instead of this overload you use the HttpResponse.Redirect(String, Boolean) overload and pass false for the endResponse parameter, and then call the CompleteRequest method. Para obtener más información, vea el método End.For more information, see the End method.

Nota

Solo en el caso de las páginas móviles, si la aplicación se basa en sesiones sin cookies o podría recibir solicitudes de dispositivos móviles que requieren sesiones sin cookies~, el uso de una tilde () en una ruta de acceso puede dar como resultado la creación de una nueva sesión y la pérdida potencial de la sesión Data.For mobile pages only, if your application relies on cookieless sessions, or might receive requests from mobile devices that require cookieless sessions, using a tilde (~) in a path can result in creating a new session and potentially losing session data. Para establecer una propiedad en un control móvil con una ruta de acceso como~"/path", resuelva la ruta ResolveUrl de~acceso mediante "/path" antes de asignarla a la propiedad.To set a property on a mobile control with a path such as "~/path", resolve the path using ResolveUrl "~/path" before assigning it to the property.

ASP.NET realiza el redireccionamiento devolviendo un código de Estado HTTP 302.ASP.NET performs the redirection by returning a 302 HTTP status code. Una manera alternativa de transferir el control a otra página es Transfer el método.An alternative way to transfer control to another page is the Transfer method. El Transfer método suele ser más eficaz porque no produce un recorrido de ida y vuelta al cliente.The Transfer method is typically more efficient because it does not cause a round trip to the client. Para obtener más información, vea Cómo: Redirigir a los usuarios aotra página.For more information, see How to: Redirect Users to Another Page.

Redirect(String, Boolean)

Redirecciona un cliente a una nueva dirección URL.Redirects a client to a new URL. Especifica la nueva URL y si la ejecución de la página actual debe finalizar.Specifies the new URL and whether execution of the current page should terminate.

public:
 void Redirect(System::String ^ url, bool endResponse);
public void Redirect (string url, bool endResponse);
member this.Redirect : string * bool -> unit
Public Sub Redirect (url As String, endResponse As Boolean)

Parámetros

url
String

Ubicación del destino.The location of the target.

endResponse
Boolean

Indica si la ejecución de la página actual debe terminar.Indicates whether execution of the current page should terminate.

Excepciones

url es null.url is null.

url contiene un carácter de nueva línea.url contains a newline character.

Se intentó el redireccionamiento después de enviar los encabezados HTTP.A redirection is attempted after the HTTP headers have been sent.

La solicitud de página es el resultado de una devolución de llamada.The page request is the result of a callback.

Ejemplos

En el ejemplo siguiente se IsClientConnected utiliza la propiedad para comprobar si el cliente que está solicitando la página sigue conectado al servidor.The following example uses the IsClientConnected property to check whether the client that is requesting the page remains connected to the server. Si IsClientConnected es true, el código llama al Redirect método y el cliente verá otra página.If IsClientConnected is true, the code calls the Redirect method, and the client will view another page. Si IsClientConnected es false, el código End llama al método y finaliza el procesamiento de todas las páginas.If IsClientConnected is false, then the code calls the End method and all page processing is terminated.

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

    private void Page_Load(object sender, EventArgs e)
    {
        // Check whether the browser remains
        // connected to the server.
        if (Response.IsClientConnected)
        {
            // If still connected, redirect
            // to another page. 
            Response.Redirect("Page2CS.aspx", false);
        }
        else
        {
            // If the browser is not connected
            // stop all response processing.
            Response.End();
        }
    }

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    Private Sub Page_Load(sender As Object, e As EventArgs)

        ' Check whether the browser remains
        ' connected to the server.
        If (Response.IsClientConnected) Then

            ' If still connected, redirect
            ' to another page.             
            Response.Redirect("Page2VB.aspx", false)
        Else
            ' If the browser is not connected
            ' stop all response processing.
            Response.End()
        End If
    End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
    </form>
</body>
</html>

Comentarios

Se puede especificar una dirección URL absoluta http://www.contoso.com/default.aspx(por ejemplo,) o una dirección URL relativa (por ejemplo, default. aspx) para la ubicación de destino, pero algunos exploradores pueden rechazar una dirección URL relativa.An absolute URL (for example, http://www.contoso.com/default.aspx) or a relative URL (for example, Default.aspx) can be specified for the target location but some browsers may reject a relative URL.

Cuando se usa este método en un controlador de páginas para finalizar una solicitud de una página e iniciar una nueva solicitud de otra página, endResponse establezca false en y, a CompleteRequest continuación, llame al método.When you use this method in a page handler to terminate a request for one page and start a new request for another page, set endResponse to false and then call the CompleteRequest method. Si especifica true para el endResponse parámetro, este método llama al End método para la solicitud original, que produce una ThreadAbortException excepción cuando se completa.If you specify true for the endResponse parameter, this method calls the End method for the original request, which throws a ThreadAbortException exception when it completes. Esta excepción tiene un efecto perjudicial en el rendimiento de la aplicación Web, por lo false que se endResponse recomienda pasar el parámetro.This exception has a detrimental effect on Web application performance, which is why passing false for the endResponse parameter is recommended. Para obtener más información, vea el método End.For more information, see the End method.

Nota

En el caso de las páginas móviles, si la aplicación se basa en sesiones sin cookies o podría recibir solicitudes de dispositivos móviles que requieren sesiones sin cookies~, el uso de una tilde () en una ruta de acceso puede crear una nueva sesión y potencialmente perder datos de la sesión.For mobile pages, if your application relies on cookieless sessions, or might receive requests from mobile devices that require cookieless sessions, using a tilde (~) in a path can create a new session and potentially lose session data. Para establecer una propiedad en un control móvil con una ruta de acceso como~"/path", resuelva la ruta ResolveUrl de~acceso mediante "/path" antes de asignarla a la propiedad.To set a property on a mobile control with a path such as "~/path", resolve the path using ResolveUrl "~/path" before assigning it to the property.

ASP.NET realiza el redireccionamiento devolviendo un código de Estado HTTP 302.ASP.NET performs the redirection by returning a 302 HTTP status code. Una manera alternativa de transferir el control a otra página es Transfer el método.An alternative way to transfer control to another page is the Transfer method. El Transfer método suele ser más eficaz porque no produce un recorrido de ida y vuelta al cliente.The Transfer method is typically more efficient because it does not cause a round trip to the client. Para obtener más información, consulte Cómo Redirigir a los usuarios aotra página.For more information, see How to: Redirect Users to Another Page.

Se aplica a