HttpServerUtility.Transfer
Server.Transfer("Form값넘길 주소")
현재 페이지의 실행을 종료하고 현재 요청에 대한 새 페이지의 실행을 시작합니다.
오버로드 목록
현재 요청에 대해 현재 페이지의 실행을 종료하고
그 페이지의 지정된 URL 경로를 사용하여 새 페이지의 실행을 시작합니다.
public void Transfer(string);
현재 페이지의 실행을 종료하고 그 페이지의 지정된 URL 경로를 사용하여 새 페이지의 실행을 시작합니다. QueryString 및 Form 컬렉션을 지울 것인지 여부를 지정합니다.
public void Transfer(string, bool);
예제 : 다음 예제에서는 현재 페이지와 같은 디렉터리에서 새 페이지를 실행합니다.
참고 : 다음 예제에서는 Transfer의 오버로드된 버전에 대한 사용법을 보여 줍니다.
사용할 수 있는 다른 예제를 보려면 개별 오버로드 항목을 참조하십시오.
[C#]
기본값을 false이기때문에 폼에 있는 정보는 전송되지 않고 Logon.aspx페이지가 보여진다
Server.Transfer("Logon.aspx");
Form컬랙션을 유지하고 Logon.aspx페이지가 보여지므로
이전의 페이지의 컨트롤의 값을 받아올 수 있다.
Server.Transfer("Logon.aspx", true);
추가 정리 사항..
이전 페이지에서 다음페이지로 값을 넘기고 싶을땐?
예전 ASP 배울땐
값을 넘기는것에 대해서 아무런 걱정이 없었습니다.
Post방식으로 넘기면 값을 숨길수 있었고, Get방식으로 넘겨도 아무런 상관이 없었죠.
그런데 .. ASP.NET에서는 어떻게 값을 넘기시고 계십니까?
다른방법이 있을지도 불구하고 제가 아하! 하고 깨우친거라서.
정보를 공유하고자 이렇게 글을 남깁니다. 만약 이보다 더 좋은 정보가 있다면
답글이나 리플을 달아주시기 바랍니다.
자.. 제가 올릴 예제는
페이지1에서 이름과 주민등록번호를 받아서
페이지2로 넘겨 그 값을 다시 적지않아도 되게끔 하려고 합니다.
우선 폼설계는 이렇게 하겠습니다.
WebForm1.aspx
그리고 WebForm1.aspx.cs 파일은
이렇게 만듭니다.
( 단순합니다. 그냥 Server.Transfer("URL") 이렇게만 적고 보내면 됩니다. )
자.. 여기서 Server.Transfer가 무엇이지 알고 넘어가야겠죠?
그래서 MSDN에서 퍼왔습니다.
두번째 오버로드에는 bool값이 있네요. 그럼 MSDN에서 bool값의 기본값은 뭘지 한번
보도록 하죠.
그런데.. 그런데 말이죠..
MSDN 오타입니다.
기본값은 true입니다. 제가 직접확인해봤습니다.
그리고 받는 두번째페이지를 만들어보죠.
WebForm2.aspx.cs
그래서 For문을 ㅋ..
웹은 되면 됩니다 ㅋㅋ ( 푸하하하하하 ㅡ,.ㅡ;;;;;; )
자 그럼 대충만들고 실험을 해보죠. 어떻게 보여지나..
값을 받은 페이지는 Request로 받아서 알아서 처리하게 됩니다.
단. 여기서 참고해야할 것은
URL의 주소는 바뀌지 않는것입니다.
그렇다고해서 '뒤로'버튼 눌렀는데 안간다는건 아닙니다. 뒤로버튼누르면 똑같이 갑니다.
단 이전페이지에서 요청한것이기때문에 남는것.. 걍 그렇게 아세요.
저도 잘몰라용~ ^0^;;;;;;
Server.Transfer("URL" , true)
Server.Transfer("URL", false)
유용하게 쓰십시요.~
출처 : http://blog.naver.com/iadus/90001829664