Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método HttpResponse.Redirect (String, Boolean)

 

Publicado: julio de 2016

Redirecciona un cliente a una nueva dirección URL. Especifica la nueva URL y si la ejecución de la página actual debe finalizar.

Espacio de nombres:   System.Web
Ensamblado:  System.Web (en System.Web.dll)

public void Redirect(
	string url,
	bool endResponse
)

Parámetros

url
Type: System.String

Ubicación del destino.

endResponse
Type: System.Boolean

Indica si la ejecución de la página actual debe terminar.

Exception Condition
ArgumentNullException

El valor de url es null.

ArgumentException

url contiene un carácter de nueva línea.

HttpException

Se intentó el redireccionamiento después de enviar los encabezados HTTP.

ApplicationException

La solicitud de página es el resultado de una devolución de llamada.

Puede especificar una dirección URL absoluta (por ejemplo, http://www.contoso.com/default.aspx) 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.

Cuando se usa este método en un controlador de páginas para terminar una solicitud para una página e iniciar una nueva solicitud de otra página, establezca endResponse a false y, a continuación, llame a la CompleteRequest método. Si especifica true para el endResponse parámetro, este método llama el End método para la solicitud original, que produce una ThreadAbortException excepción cuando se complete. Esta excepción tiene un efecto negativo en el rendimiento de aplicaciones Web, motivo por el cual pasar false para el endResponse se recomienda el parámetro. Para obtener más información, vea el método End.

System_CAPS_noteNota

Páginas móviles, si la aplicación se basa en sesiones sin cookies o puede recibir solicitudes de dispositivos móviles que requieren sesiones sin cookies, con una tilde (~) en una ruta de acceso puede crear una nueva sesión y potencialmente perder datos de la sesión. Para establecer una propiedad en un control móvil con una ruta de acceso como "~ / ruta de acceso", resolver la ruta de acceso utilizando ResolveUrl "~ / ruta de acceso" antes de asignarlo a la propiedad.

ASP.NET realiza la redirección devolviendo un código de estado HTTP 302. Una manera alternativa para transferir el control a otra página es la Transfer método. El Transfer método normalmente es más eficaz porque no provoca la ida y vuelta al cliente. Para obtener más información, consulta How to: Redirect Users to Another Page.

En el ejemplo siguiente se usa el IsClientConnected propiedad para comprobar si el cliente que solicita la página permanece conectado al servidor. Si IsClientConnected es true, el código llama el Redirect método y el cliente verá otra página. Si IsClientConnected es false, el código llama a la End (método) y todo el procesamiento de página se termina.

<%@ 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>

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: