ASP.NET 컨텐츠 페이지에서 마스터 페이지에 있는 객체 액세스
모판 페이지는 단지 하나의 페이지 템플릿일 뿐, 단독 모판 페이지는 사용자가 방문할 수 없다.모판 페이지와 내용 페이지는 엄격한 대응 관계를 가지고 있다.마스터 페이지에 포함된 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의 오리지널 문장으로 전재를 환영하지만 출처를 밝혀야 합니다. 그렇지 않으면 관련 법적 책임을 추궁합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.