ASP.NET 컨텐츠 페이지에서 마스터 페이지에 있는 객체 액세스

3948 단어
ASP에서.NET2.0부터 모판 페이지의 기능을 제공합니다.모판 페이지는 한 모판 페이지와 여러 내용 페이지로 구성되어 있다.모판 페이지의 주요 기능은 ASP이다.NET 응용 프로그램의 페이지는 같은 레이아웃과 인터페이스 스타일을 만듭니다.모판 페이지의 사용은 일반 페이지와 유사하며 파일이나 도형, 모든 HTML 컨트롤과 웹 컨트롤, 백업 코드 등을 놓을 수 있다.
모판 페이지는 단지 하나의 페이지 템플릿일 뿐, 단독 모판 페이지는 사용자가 방문할 수 없다.모판 페이지와 내용 페이지는 엄격한 대응 관계를 가지고 있다.마스터 페이지에 포함된 ContentPlaceHolder 컨트롤이 몇 개인지 컨텐츠 페이지에서도 해당 Content 컨트롤을 설정해야 합니다.
모판 페이지의 개념을 되돌아본 후에 저는 오늘 주로 일반적인 페이지에서 그와 관련된 모판 페이지의 대상(예를 들어 컨트롤의 값)을 어떻게 방문하는지 정리했습니다.
Page 객체에는 마스터 페이지의 기본 클래스인 MasterPage에 대한 참조를 수행할 수 있는 공통 속성 마스터가 있다는 것을 알고 있습니다.MasterPage는 일반 ASP에 해당합니다.NET 페이지의 페이지 객체따라서 마스터페이지 객체를 사용하여 마스터 페이지의 각 하위 객체에 액세스할 수 있습니다.
구체적인 프로그램 인스턴스는 다음과 같습니다.
ASP에서NET 빈 사이트 항목에 마스터 페이지 Master Page 1 을 추가합니다.마스터와 일반 페이지Default그리고 각각 모판 페이지와 내용 페이지에 레이블 단추를 추가합니다.모판 페이지의 Label 컨트롤의 ID 속성은 현재 시스템 날짜를 표시하는 데 사용되는 labMaster입니다.컨텐츠 페이지의 레이블 컨트롤에 대한 ID 속성은 labContent이며, 마스터 페이지의 레이블 컨트롤 값을 표시하거나 액세스할 수 있습니다.MasterPage 1 에서Master 마스터 페이지의 PageLoad 이벤트에 다음 코드를 추가합니다.
1 protected void Page_Load(object sender, EventArgs e)
2     {
3         this.labMaster.Text = "   " + DateTime.Today.Year + " " + DateTime.Today.Month + " " + DateTime.Today.Day + " ";
4     }

Default에서.aspx 컨텐츠 페이지의 PageLoadComplete 이벤트에 다음 코드가 추가됩니다.
1 protected void Page_Complete(object sender, EventArgs e) 2  { 3 if (!this.IsPostBack) 4  { 5 //6 Label masterLabel = this.Master.FindControl("labMaster") as Label; 7 this.labContent.Text = masterLabel.Text; 8  } 9 }

프로그램을 실행하면 컨텐트 페이지의 레이블 컨트롤에 마스터 페이지 레이블이 표시됩니다.text의 값입니다.주의해야 할 것은: 내용 페이지의 PageLoad 이벤트는 마스터 페이지의 Page 보다 먼저 수행됩니다.Load 이벤트가 발생했습니다.그래서 여기는 Page 를 사용하고 있습니다.LoadComplete 이벤트여기서 PageLoadComplete 이벤트는 라이프 사이클과 페이지 로드가 끝날 때 트리거됩니다.
-------------------------------------------------------------------------------------------------------------------------
본고는 저자 GISQZC의 오리지널 문장으로 전재를 환영하지만 출처를 밝혀야 합니다. 그렇지 않으면 관련 법적 책임을 추궁합니다!

좋은 웹페이지 즐겨찾기