본문 바로가기
웹/ASP.Net

마스터페이지 사용한 웹폼에서 FindControl() 로 컨트롤 찾기

by 브래드.권 2013. 8. 28.

 

 

 

마스터 페이지를 사용한 웹폼 cs단에서 FindControl() 함수를 이용해 특정 컨트롤에 접근하는 예제입니다.

 

본 예제는 Hello 버튼을 클릭하면 아래 5개의 ID 를 span1, span2, span3 등으로 가지는 span 태그들에 텍스트를 출력합니다. 물론, 마스터 페이지를 이용하여 해당 html 태그들은 <asp:Content> 안에 들어가게 되고 예제 웹폼 파일명은 WebForm1.aspx 입니다.

 

1. WebForm1.aspx 의 <asp:Content> 내용


    

 

2. WebForm1.aspx.cs 의 <asp:Button> 에 해당하는 button1_click() 함수 내용

// Hello 버튼 클릭 이벤트 함수
protected void button1_Click(object sender, EventArgs e)
{
    // 해당 웹폼의 마스터 페이지에서 찾고자 하는 컨트롤이 포함된
    // ContentPlaceHolderID 인 MainContent 를 먼저 찾는다.
    Control placeHolder = this.Master.FindControl("MainContent");

    for (int i = 1; i < 6; i++)
    {
        // MainContent 에서 span 컨트롤들을 찾아서 텍스트 출력
        (placeHolder.FindControl("span" + i.ToString()) as HtmlContainerControl)
            .InnerText = "World" + i.ToString() + " !!!";
    }
}

 

3. 실행 화면