2013-07-06 2 views
0

저는 asp.net에 매우 익숙합니다. 그리고 그 기능을 살펴본 결과 Response.Redirect 대신 Server.Transfer을 사용하면 원본 페이지의 URL을 보존 할 수 있다는 것을 알게되었습니다. 두 개의 테스트 페이지를 만들었습니다.Server.Transfer를 사용하여 페이지 URL을 보존하려면 새 페이지에서 단추를 클릭 할 때 URL을 유지하는 방법?

첫 번째 텍스트 상자와 버튼이 있습니다. 버튼을 클릭하면 텍스트 상자의 내용이 변수에 저장되고 Server.Transfer이 두 번째 페이지를로드하는 데 사용됩니다. 이 페이지에는 버튼과 라벨이 있습니다. 단추를 클릭하면 레이블에 세션 변수에 저장된 내용이 채워집니다.

두 번째 페이지에서 단추를 클릭하고 레이블이 변경되면 URL이 두 번째 페이지의 URL로 변경됩니다. 이것은 목적을 이겨내는 것 같아 URL을 보존하려면 어떻게해야합니까?

답변

2

두 번째 페이지의 단추를 누르면 다시 게시가 발생하고 서버는 다시 게시하는 페이지의 URL (두 번째 페이지)을 표시합니다. 사실상 자신에게 Response.Redirect을하였습니다.

두 개의 분리 된 .aspx 페이지가 단지 하나 인 것처럼 보이는 이유가 궁금합니다. Server.Transfer을 사용할 때의 가장 큰 단점 중 하나는 사용자가 새로운 페이지에 있다고 생각할 때 사용자를 혼란스럽게하지만 브라우저가 다른 말을하는 것입니다. 특히 북 마킹 시나리오에서.

논리가 단일 .aspx 페이지에 있지만 두 개의 별도 논리 단위로 작동하도록하려면 ASP.NET Panel 논리를 필요에 따라 표시하거나 숨기는 컨트롤을 사용하면 페이지의 코드 숨김이 필요한 이벤트 (즉, 버튼 클릭)는 한 페이지에서 모두 이루어지며 URL은 전체 시간과 동일합니다.

+0

저는 이것을 원할 이유가 없습니다. ASP.Net을 배우는 것뿐입니다. 나는 미래에 그것을하기를 원할 이유가있을 때를 대비하여 이것을 어떻게하는지 알고 싶습니다. 어쨌든 유용 할 수있는 곳이있을거야? 그렇지 않은 경우 URL이 동일하게 유지되는 이유는 무엇입니까? – cost

+0

다음은 비슷한 질문 [Response.Redirect와 Server.Tranfer의 차이점] (http://stackoverflow.com/questions/6778870/difference-between-response-redirect-and-server-transfer)입니다. 수락 된 대답에서 각 접근법을 사용해야 할 때 유용한 목록을 제공합니다. –

관련 문제