[ASP.NET] Redirection

BMI 산출기 페이지에서는 모든 것이 한 페이지에서 이루어졌다. 대부분의 사용자는 다른 작업을 수행하거나 하나의 작업을 마무라하기 위해 다른 페이지로 이동하게 된다.

사용자를 다른 페이지로 이동시키는 것을 바로 '리다이렉션(redirection)'이라고 한다.

 

사용자를 다른 페이지로 이동시키는데는 여러 가지 방법이 있지만, 가장 쉬운 방법은 <a> 태그를 이용하는 것이다.

<a href="differentPage.aspx">다른 페이지로 이동</a>

이 밖에 코드 내에서 리다이렉션하는 방법도 있다. 사용자를 다른 곳으로 보내기 전에 해야하는 작업이 있다거나 어디로 이동시켜야 할 것인지를 결정하는 코드를 작성할 떄 유용하다.

이때 Response 객체의 Redirect 메서드를 이용하여 코드 내에서 다른 페이지로 이동시키는 방법은 다음과 같다.

Response.Redirect("differentPage.aspx");

Redirect 메서드를 사용하면, ASP.NET은 바로 페이지의 수행을 멈추고 사용자의 웹 브러우저에게 리다이렉트 메시지를 보낸다. Redirect 메서드 호출 이후에 있는 코드는 실행되지 않는다.

 

ASP.NET에서는 제공하는 또 다른 방법은 Server 객체의 Tranfer 메서드를 이용하는 것이다.

Server.Transfer("differentPage.aspx");

Transfer 메서드는 웹 브라우저에 리다이렉트 메시지를 보내지 않고 원래 요청한 페이지를 통해 새로운 페이지를 실행한다. 웹 브라우저가 같은 URL을 보여주기 때문에 사용자는 다른 페이지로 이동되어 어떤 작업이 이루어졌는지 알 수 없다. Transfer 메서드는 동일 웹 응용 프로그램 내에 있는 다른 ASP.NET 페이지일 때만 이동하여 수행한다.

댓글