ASP. NET 페이지 전송 값 의 Server. Transfer
말하자면 좀 부 끄 럽 습 니 다. 이렇게 오랫동안. NET 을 했 는데 오늘 에 야 비로소 Server. Transfer 를 알 게 되 었 습 니 다.
먼저 코드 를 보 겠 습 니 다.
B.aspx
public string TextBox1Text
{
get
{
return TextBox1.Text;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Server.Transfer("A.aspx");
}
A.ASPX
protected void Page_Load(object sender, EventArgs e)
{
B b = Context.Handler as B;// B
if (b != null)
{
Response.Write(" A.aspx !<br/>");
Response.Write(" B :"+b.TextBox1Text);
}
else
{
Response.Write(" !<br/>");
}
}
이것 이 야 말로 이미지 대상 개발 에 사용 되 는 방법 이 라 고 할 수 있 습 니 다. Server. Transfer 방법 으로 절 차 를 현재 페이지 에서 다른 페이지 로 유도 하고 새로운 페이지 는 이전 페이지 의 응답 흐름 을 사용 하기 때문에 이 방법 은 완전 이미지 대상 이 고 간결 하고 효과 적 입 니 다.
Server. Transfer 는 현재 의 ASPX 페이지 에서 새로운 ASPX 페이지 로 넘 어 가 는 것 입 니 다. 서버 쪽 에서 새 페이지 를 실행 하고 출력 합 니 다. 새 페이지 에서 Context. Handler 를 통 해 이전 페이지 에서 전 달 된 각종 데이터 형식의 값, 폼 데이터, QueryString 을 얻 을 수 있 습 니 다. 서비스 쪽 에서 완전히 리 셋 되 기 때문에 클 라 이언 트 브 라 우 저의 URL 주 소 는 변 하지 않 습 니 다.Server. Transfer 를 호출 할 때 현재 ASPX 페이지 는 실행 을 중지 하고 실행 절 차 는 다른 ASPX 페이지 로 넘 어 갑 니 다. 그러나 새로운 ASPX 페이지 는 이전 ASPX 페이지 에서 만 든 응답 흐름 을 사용 합 니 다.
ps: Server. Transfer 와 Response. Redirect 의 차 이 를 비교 합 니 다.
(1) Server. Transfer 는 서버 에서 이 루어 지기 때문에 클 라 이언 트 브 라 우 저의 URL 주 소 는 변 하지 않 습 니 다.Response. Redirect 는 클 라 이언 트 가 완성 하고 서버 측 에 새로운 페이지 처리 요청 을 하기 때문에 클 라 이언 트 브 라 우 저의 URL 주 소 는 변 경 됩 니 다.
(2) Server. Transfer 는 서버 에서 완성 되 고 클 라 이언 트 가 요청 할 필요 가 없 으 며 클 라 이언 트 가 서버 에 요청 하 는 것 을 줄 였 습 니 다.
(3) Server. Transfer 는 로 컬 가상 디 렉 터 리 가 지정 한 페이지, 즉 프로젝트 의 페이지 로 만 이동 할 수 있 고 Response. Redirect 는 매우 유연 하여 모든 URL 주소 로 이동 할 수 있 습 니 다.
(4) Server. Transfer 는 이전 페이지 의 다양한 종류의 값 을 새로운 페이지 로 전달 할 수 있 습 니 다.Response. Redirect 는 URL 에 있 는 매개 변 수 를 사용 하거나 위의 네 가지 방법 을 결합 하여 각종 유형의 값 을 새로운 페이지 로 전달 할 수 있 습 니 다.
장점: 1. 서버 에서 직접 방향 을 바 꾸 고 사용 이 간단 하고 편리 하 며 클 라 이언 트 가 서버 측 에 요청 하 는 것 을 감소 합 니 다.2. 각종 데이터 형식의 값 과 컨트롤 의 값 을 전달 할 수 있 습 니 다.
단점: 1. 클 라 이언 트 브 라 우 저의 URL 주 소 는 변경 되 지 않 아 새로운 페이지 에 예상 치 못 한 문제 가 발생 할 수 있 습 니 다.예 를 들 어 원본 페이지 와 목적 페이지 가 같은 가상 디 렉 터 리 나 하위 디 렉 터 리 에 없 으 면 상대 경로 의 그림, 하이퍼링크 를 사용 하면 잘못된 방향 을 가 져 올 수 있 습 니 다.
사용 방법: 1. 원본 페이지 의 코드 에서 Page 류 의 Server. Transfer 를 사용 하여 다른 페이지 로 이동 하여 페이지 데 이 터 를 전달 합 니 다: Server. Transfer ("b. aspx", "false");2. 목적 페이지 에서 Context. Handler 를 사용 하여 데 이 터 를 수신 합 니 다: FormerPage formerPage = (FormerPage) Context. Handler; 그리고 formerPage 의 속성 과 방법 으로 이전 페이지 의 값 을 가 져 오 거나 Context. Items ["my Parameter"] 를 직접 사용 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
localStorage에 객체를 추가하는 방법은 무엇입니까?이 노트에서는 localStorage에 객체를 삽입하는 방법을 보여드리겠습니다. 경우에 따라 로컬 스토리지 또는 세션 스토리지에 데이터를 개체로 저장해야 할 수 있습니다. 어떻게 이것을 달성할 수 있습니까? 객체가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.