HttpResponse.Redirect 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
클라이언트를 새 URL로 리디렉션합니다.
오버로드
Redirect(String) |
요청을 새 URL로 리디렉션하고 새 URL을 지정합니다. |
Redirect(String, Boolean) |
클라이언트를 새 URL로 리디렉션합니다. 새 URL을 지정하고 현재 페이지 실행을 종료해야 하는지를 지정합니다. |
Redirect(String)
요청을 새 URL로 리디렉션하고 새 URL을 지정합니다.
public:
void Redirect(System::String ^ url);
public void Redirect (string url);
member this.Redirect : string -> unit
Public Sub Redirect (url As String)
매개 변수
- url
- String
대상 위치입니다. 이것은 애플리케이션 관련 가상 경로일 수 있습니다.
예외
HTTP 헤더를 보낸 후 리디렉션이 시도되는 경우
예제
다음 예제에서는 다른 웹 사이트로 무조건 리디렉션을 강제합니다.
Response.Redirect("http://www.microsoft.com/gohere/look.htm");
Response.Redirect("http://www.microsoft.com/gohere/look.htm")
설명
호출 Redirect 은 두 번째 매개 변수가 로 설정된 를 호출 Redirect 하는 것과 true
같습니다.
Redirect는 완료 시 예외를 throw하는 을 ThreadAbortException 호출 End 합니다. 이 예외는 웹 애플리케이션 성능에 나쁜 영향을 미칩니다. 따라서 이 오버로드 대신 오버로드를 HttpResponse.Redirect(String, Boolean) 사용하고 매개 변수에 전달 false
endResponse
한 다음 메서드를 호출하는 CompleteRequest 것이 좋습니다. 자세한 내용은 End 메서드를 참조하세요.
참고
모바일 페이지의 경우 애플리케이션이 쿠키 없는 세션에 의존하거나 쿠키 없는 세션이 필요한 모바일 디바이스에서 요청을 받을 수 있는 경우에만 경로에서 타일(~)을 사용하면 새 세션이 만들어지고 세션 데이터가 손실될 수 있습니다. "~/path"와 같은 경로를 사용하여 모바일 컨트롤에서 속성을 설정하려면 속성에 할당하기 전에 "~/path"를 사용하여 ResolveUrl 경로를 resolve.
ASP.NET 302 HTTP 상태 코드를 반환하여 리디렉션을 수행합니다. 컨트롤을 다른 페이지로 전송하는 다른 방법은 메서드입니다 Transfer . 메서드는 Transfer 클라이언트로의 왕복을 유발하지 않으므로 일반적으로 더 효율적입니다. 자세한 내용은 방법: 사용자를 다른 페이지로 리디렉션을 참조하세요.
적용 대상
Redirect(String, Boolean)
클라이언트를 새 URL로 리디렉션합니다. 새 URL을 지정하고 현재 페이지 실행을 종료해야 하는지를 지정합니다.
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)
매개 변수
- url
- String
대상 위치입니다.
- endResponse
- Boolean
현재 페이지 실행을 종료해야 하는지 여부를 나타냅니다.
예외
url
이(가) null
인 경우
url
에 줄 바꿈 문자가 포함되어 있는 경우
HTTP 헤더를 보낸 후 리디렉션이 시도되는 경우
페이지 요청이 콜백의 결과인 경우
예제
다음 예제에서는 사용 하 IsClientConnected 여는 속성을 페이지를 요청 하는 클라이언트가 서버에 연결 된 상태를 유지 하는지 여부를 검사 합니다. 가 true이면 IsClientConnected 코드는 메서드를 Redirect 호출하고 클라이언트는 다른 페이지를 봅니다. 가 false이면 IsClientConnected 코드가 메서드를 End 호출하고 모든 페이지 처리가 종료됩니다.
<%@ 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>
설명
대상 위치에 대해 절대 URL(예: http://www.contoso.com/default.aspx
) 또는 상대 URL(예: Default.aspx)을 지정할 수 있지만 일부 브라우저는 상대 URL을 거부할 수 있습니다.
페이지 처리기에서 이 메서드를 사용하여 한 페이지에 대한 요청을 종료하고 다른 페이지에 대한 새 요청을 시작하는 경우 를 로 false
설정한 endResponse
다음 메서드를 호출합니다CompleteRequest. 매개 변수에 endResponse
대해 를 지정 true
하는 경우 이 메서드는 원래 요청에 대한 메서드를 호출 End 하며, 이 메서드는 완료되면 예외를 ThreadAbortException throw합니다. 이 예외는 전달 중인 웹 애플리케이션 성능에 부정적 false
에 대 한는 endResponse
매개 변수를 사용 하는 것이 좋습니다. 자세한 내용은 End 메서드를 참조하세요.
참고
모바일 페이지의 경우 애플리케이션이 쿠키 없는 세션에 의존하거나 쿠키 없는 세션이 필요한 모바일 디바이스에서 요청을 받을 수 있는 경우 경로에서 타일(~)을 사용하면 새 세션을 만들고 세션 데이터가 손실될 수 있습니다. "~/path"와 같은 경로를 사용하여 모바일 컨트롤에서 속성을 설정하려면 속성에 할당하기 전에 "~/path"를 사용하여 ResolveUrl 경로를 resolve.
ASP.NET 302 HTTP 상태 코드를 반환하여 리디렉션을 수행합니다. 컨트롤을 다른 페이지로 전송하는 다른 방법은 메서드입니다 Transfer . 메서드는 Transfer 클라이언트로의 왕복을 유발하지 않으므로 일반적으로 더 효율적입니다. 자세한 내용은 방법: 사용자를 다른 페이지로 리디렉션을 참조하세요.
적용 대상
.NET