4. FrmPlaceHolder.aspx.cs 파일을 열고 다음과 같이 코드를 작성한다. ASP.NET을 사용하면 동적으로 컨트롤을 생성해서 특정 영역에 삽입해서 사용할 수 있고, 관련된 이벤트 처리기도 구현할 수 있다.


    using System;
    using System.Web.UI.WebControls;
    
    namespace DevStandardControl
    {
      public partial class FrmPlaceHolder : System.Web.UI.Page
      {
          protected void Page_Load(object sender, EventArgs e)
          {
              // [1] 버튼 개체 하나 생성
              Button btn1 = new Button();
              btn1.ID = “btn1”;
              btn1.Text = “버튼 1”;
              btn1.Click += btn_Click;
              // [2] PlaceHolder에 프로그래밍 방식으로 버튼 추가
              ctlPlaceHolder.Controls.Add(btn1);
              
              Literal ltr = new Literal();
              ltr.Text = “<br />“;
              ctlPlaceHolder.Controls.Add(ltr);
              
              Button btn2 = new Button();
              btn2.ID = “btn2”;
              btn2.Text = “버튼 2”;
              btn2.Click += btn_Click;
              ctlPlaceHolder.Controls.Add(btn2);
          }
          
          private void btn_Click(object sender, EventArgs e)
          {
              lblDisplay.Text =
                  (sender as Button).Text + ” 버튼이 클릭되었습니다.<br />“;
              
              Button btnCurrent = sender as Button;
              lblDisplay.Text += btnCurrent.ID + ” 버튼입니다.<br />“;
              
              // 부모 컨트롤(컨테이너)로부터 자식 컨트롤을 읽어 오는 교과서다운 코드
              lblDisplay.Text +=
                  ((Button)ctlPlaceHolder.FindControl(btnCurrent.ID)).Text
                  + ” 버튼이겠죠?”;
          }
      }
    }
    

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.