* 마스터 페이지 사용시 Request 문제
1. 마스터 페이지를 사용을 안할 때
- 마스터 페이지를 사용을 안할 때는 일반적으로 Request 개체를 사용
ex1) String temp1 = Request.Params["이름"];
ex2) String temp1 = Request.QueryString["이름"];
ex3) String temp1 = Request.Form["이름"];
ex4) String temp1 = Request["이름"];
1번,2번 예제는 GET 방식일 때 사용, 3번 예제는 POST 방식일 때, 4번 예제는 GET, POST 방식 둘 다 사용 가능
2. 마스터 페이지를 사용할 때
- 마스터 페이지를 사용할 때는 일반적인 방식의 Request로는 값을 얻어오지 못함.
- 마스터페이지가 있고 마스터페이지 내 컨텐츠 페이지의 ID가 MainContent라면 다음과 같은 방식으로 가져와야 함.
ex1) String temp1 = ((TextBox)Master.FindControl("MainContent").FindControl("이름")).Test;
ex2) String temp1 = Request["ctl100$MainContent$이름"];
위와 같은 방식으로 되는데 2번 방식에서 첫번째 $앞은 Control의 아이디인 듯 하고 그 다음은 컨텐츠 페이지의 ID, 마지막은 Control의 Name같이 사용을 해야 원하는 값을 얻어올 수 있음.
편의상 1번 방식이 보기도 편하고 나중에 유지보수도 편할 듯 함.
1. 마스터 페이지를 사용을 안할 때
- 마스터 페이지를 사용을 안할 때는 일반적으로 Request 개체를 사용
ex1) String temp1 = Request.Params["이름"];
ex2) String temp1 = Request.QueryString["이름"];
ex3) String temp1 = Request.Form["이름"];
ex4) String temp1 = Request["이름"];
1번,2번 예제는 GET 방식일 때 사용, 3번 예제는 POST 방식일 때, 4번 예제는 GET, POST 방식 둘 다 사용 가능
2. 마스터 페이지를 사용할 때
- 마스터 페이지를 사용할 때는 일반적인 방식의 Request로는 값을 얻어오지 못함.
- 마스터페이지가 있고 마스터페이지 내 컨텐츠 페이지의 ID가 MainContent라면 다음과 같은 방식으로 가져와야 함.
ex1) String temp1 = ((TextBox)Master.FindControl("MainContent").FindControl("이름")).Test;
ex2) String temp1 = Request["ctl100$MainContent$이름"];
위와 같은 방식으로 되는데 2번 방식에서 첫번째 $앞은 Control의 아이디인 듯 하고 그 다음은 컨텐츠 페이지의 ID, 마지막은 Control의 Name같이 사용을 해야 원하는 값을 얻어올 수 있음.
편의상 1번 방식이 보기도 편하고 나중에 유지보수도 편할 듯 함.
[ASP.Net2.0 관련 글모음]
2008/07/29 - [프로그래밍/ASP .Net] - [ASP.Net2.0] GridView RowSpan 적용예제
2008/08/01 - [프로그래밍/ASP .Net] - [ASP.Net2.0] GridView 행 추가하기
2008/08/01 - [프로그래밍/ASP .Net] - [ASP.Net2.0] GridView 웹 서버 컨트롤에 바인딩된 행에 대한
대량 업데이트 수행
2008/08/11 - [프로그래밍/ASP .Net] - [ASP.Net2.0] GridView를 Excel 출력하기
2008/08/12 - [프로그래밍/ASP .Net] - [ASP.Net2.0] XML 문서 만들기 & 이미지 문서 만들기
2008/08/26 - [프로그래밍/ASP .Net] - [ASP.Net2.0] GridView에서 사용하는 이벤트들 정리
2008/08/27 - [프로그래밍/ASP .Net] - [ASP.Net2.0] 웹사이트에 ASP.NET AJAX 사용할 수 있게 설정