ASP.Net 페이지 간 변수 값 전달 방법
send.aspx:
protected void Button1_Click( sender, EventArgs e)
{
Request.Redirect("Default2.aspx?username=honge");
}
receive.aspx:
string username = Request.QueryString["username"];
두 번 째 방법:post 방식 으로receive.aspx:
string username = Ruquest.Form["receive"];
세 번 째 방법:session 방식 을 통 해send.aspx:
protected void Button1_Click( sender, EventArgs e)
{
Session["username"] = "honge";
Request.Redirect("Default2.aspx");
}
receive.aspx:
string username = Session["username"];
네 번 째 방법:애플 리 케 이 션 방식 을 통 해send.aspx:
protected void Button1_Click( sender, EventArgs e)
{
Application["username"] = "honge";
Request.Redirect("Default2.aspx");
}
receive.aspx:
string username = Application["username"];
다섯 번 째 방법:Server.Transfer 방식 을 통 해send.aspx:
public string Name
{
get
{
return "honge";
}
}
protected void Button1_Click( sender, EventArgs e)
{
Server.Transfer("Default2.aspx");
}
receive.aspx:
send d = Context.Handler as send ;
if (d != null)
{
Response.Write(d.Name);
}
asp.net 2.0 에서 도 이렇게 사용 할 수 있다 면:Previous Page 방식 을 통 해
PreviousPage d = Context.Handler as PreviousPage ;
if (d != null)
{
Response.Write(d.Name);
}
이렇게 사용 할 수도 있다.
send.aspx:receive.aspx:string name = PreviousPage.Name;
만약 당신 의 페이지 에 Master Page 를 사용 했다 면,Server.Transfer 가 전달 한 Previous Page 는 무효 입 니 다.이것 이 무슨 원인 인지 모 르 겠 습 니 다.그래서 Master Page 를 사용 하면 Session 이나 Context.Items[username]로 이 루어 지 는 것 이 좋 습 니 다.QueryString 사용 하기
Query Sting 을 사용 하여 페이지 간 에 전달 하 는 값 은 이미 오래된 메커니즘 입 니 다.이런 방법의 주요 장점 은 실현 이 매우 간단 하 다 는 것 입 니 다.그러나 전달 하 는 값 은 브 라 우 저의 주소 표시 줄 에 표시 되 는(안전 하지 않 음)이 고 대상 을 전달 할 수 없 지만 전달 하 는 값 이 적 고 안전성 에 대한 요구 가 높 지 않 은 상황 에서이 방법 은 그래도 괜 찮 은 방안 이다.이런 방법 을 사용 하 는 절 차 는 다음 과 같다.
1.컨트롤 로 웹 폼 만 들 기(form)
2.폼 을 되 돌 릴 수 있 는 단추 와 링크 단 추 를 만 듭 니 다.
3.버튼 이나 링크 단 추 를 누 른 이벤트 에 URL 을 저장 하 는 문자 변 수 를 만 듭 니 다.
4.저 장 된 URL 에 QueryString 인 자 를 추가 합 니 다.
5.Response.Redirect 를 사용 하여 위 에 저 장 된 URL 로 변경
다음 코드 세 션 은 이 방법 을 어떻게 실현 하 는 지 보 여 줍 니 다.
원본 페이지 코드:
private void Button1_Click( sender, System.EventArgs e)
{
string url;
url="anotherwebform.aspx?name=" + TextBox1.Text + "&email=" + TextBox2.Text;
Response.Redirect(url);
}
대상 페이지 코드:
private void Page_Load( sender, System.EventArgs e)
{
Label1.Text=Request.QueryString["name"];
Label2.Text=Request.QueryString["email"];
}
세 션 변수 사용세 션 변 수 를 사용 하 는 것 은 페이지 간 에 값 을 전달 할 수 있 는 다른 방식 입 니 다.이 예 에서 우 리 는 컨트롤 의 값 을 세 션 변수 에 존재 한 다음 다른 페이지 에서 사용 하여 서로 다른 페이지 간 에 값 을 전달 하 는 목적 을 실현 합 니 다.그러나 주의해 야 할 것 은 Session 변수 에 너무 많은 데 이 터 를 저장 하면 서버 자원 을 많이 소모 할 수 있 으 므 로 session 을 사용 할 때 신중 해 야 합 니 다.물론 필요 하지 않 은 session 을 제거 하여 자원 의 불필요 한 소 모 를 줄 여야 합 니 다.Session 변수 전달 값 을 사용 하 는 일반적인 절 차 는 다음 과 같 습 니 다.
1.페이지 에 필요 한 컨트롤 추가
2.폼 을 되 돌 릴 수 있 는 단추 와 링크 단 추 를 만 듭 니 다.
3.버튼 이나 링크 단 추 를 누 른 이벤트 에서 컨트롤 의 값 을 session 변수 에 추가 합 니 다.
4.Response.Redirect 방법 으로 다른 페이지 로 재 설정
5.다른 페이지 에서 session 의 값 을 추출 합 니 다.이 session 을 사용 하지 않 아 도 되 는 지 확인 할 때 명시 적 으로 제거 해 야 합 니 다.
다음 코드 세 션 은 이 방법 을 어떻게 실현 하 는 지 보 여 줍 니 다.
원본 페이지 코드:
private void Button1_Click( sender, System.EventArgs e)
{
file://textbox1 and textbox2 are webform
file://controls
Session["name"]=TextBox1.Text;
Session["email"]=TextBox2.Text;
Server.Transfer("anotherwebform.aspx");
}
대상 페이지 코드:
private void Page_Load( sender, System.EventArgs e)
{
Label1.Text=Session["name"].ToString();
Label2.Text=Session["email"].ToString();
Session.Remove("name");
Session.Remove("email");
}
Server.Transfer 사용 하기이 방법 은 위 에서 소개 한 방법 에 비해 약간 복잡 하지만 페이지 간 값 전달 에 있어 서 특히 유용 합 니 다.이 방법 을 사용 하면 다른 페이지 에서 대상 속성 으로 표 시 된 값 을 액세스 할 수 있 습 니 다.물론 이 방법 을 사용 하려 면 다른 페이지 에서 접근 할 수 있 도록 코드 를 추가 로 써 야 합 니 다.단,이 방식 이 가 져 온 장점 도 분명 하 다.전체적으로 이런 방법 을 사용 하 는 것 은 간결 하면 서도 대상 을 대상 으로 하 는 것 이다.이런 방법 을 사용 하 는 전체 과정 은 다음 과 같다.
1.페이지 에 필요 한 컨트롤 추가
2、반환 값 을 만 드 는 Get 속성 과정
3.폼 을 되 돌 릴 수 있 는 단추 와 링크 단 추 를 만 듭 니 다.
4.단 추 를 누 르 면 이벤트 처리 프로그램 에서 Server.Transfer 방법 을 지정 한 페이지 로 이동 합 니 다.
5.두 번 째 페이지 에서 우 리 는 Context.Handler 속성 을 사용 하여 이전 페이지 의 인 스 턴 스 대상 에 대한 인용 을 얻 을 수 있 습 니 다.이 를 통 해 액세스 전 을 사용 할 수 있 습 니 다.
한 페이지 의 컨트롤 값 입 니 다.
다음 코드 는 상기 절차 과정 을 종합 적 으로 실현 하 는 코드 입 니 다.
원본 페이지 코드:
다음 코드 를 페이지 에 추가 합 니 다.
public string Name
{
get
{
return TextBox1.Text;
}
}
public string EMail
{
get
{
return TextBox2.Text;
}
}
그리고 Server.Transfer 방법 을 호출 합 니 다.
private void Button1_Click( sender, System.EventArgs e)
{
Server.Transfer("anotherwebform.aspx");
}
대상 페이지 코드:
private void Page_Load( sender, System.EventArgs e)
{file://create instance of source web form
WebForm1 wf1;
file://get reference to current handler instance
wf1=(WebForm1)Context.Handler;
Label1.Text=wf1.Name;
Label2.Text=wf1.EMail;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
springMVC 몇 가지 페이지 회전 방식 소결앞에서 Controller의 몇 가지 구성 방식을 이해했습니다. 오늘은 주로 응답 인터페이스가 돌아가는 몇 가지 방식을 쓰겠습니다. 1. 메모의 방식에서 1.1 HttpServletResponse API를 통해 직접...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.