PlaceHolder(다리표시자)
- Listeral : 텍스트가 들어올 자리(Text, Html)
- PlaceHolder : 서버 컨트롤이 들어올 자리(컨트롤)
- 동적으로 사용, 컨트롤 작성시 사용
FrmPlaceHolder.aspx |
<div>
텍스트/HTML이 들어올자리 :
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
<hr />
서버컨트롤이 들어올자리 :
<asp:PlaceHolder ID="PlaceHolder1" runat="server">
</asp:PlaceHolder>
<br />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
<hr />
<asp:Button ID="btnGetText" runat="server"
Text="동적버튼의 텍스트를 읽어오자."
onclick="btnGetText_Click" /> </div> |
FrmPlaceHolder.aspx.cs |
protected void Page_Load(object
sender, EventArgs
e) {
this.Literal1.Text = "안녕<br />방가<br />";
// 동적으로 컨트롤 생성
Button btn = new Button();
// 버튼의 주요 속성 지정
btn.ID = "btnClick";
btn.Text = "클릭하세요.";
// 이벤트 처리기 구현
btn.Click +=
//new EventHandler(btn_Click);
delegate(object obj, EventArgs
args)
{ this.Label1.Text
= "무명메서드로 출력";
};
// 플레이스홀더에 추가
this.PlaceHolder1.Controls.Add(btn);
Label lbl = new Label();
lbl.ID = "lblDisplay";
lbl.Text = "동적으로 만들어진 레이블";
this.PlaceHolder1.Controls.Add(lbl);
} //void btn_Click(object
sender, EventArgs e) //{ // this.Label1.Text = "버튼이 클릭되었습니다."; //} protected void btnGetText_Click(object sender, EventArgs
e) {
// 플레이스홀더의 btnClick 개체를 찾아서
//버튼 형태로 변환 후 Text 속성 요청
Label1.Text = ((Button)this.PlaceHolder1
.FindControl("btnClick")).Text;
((Label)this.PlaceHolder1.FindControl("lblDisplay")).Text =
DateTime.Now.ToShortTimeString(); } |
결과화면 |
[그림27-1] |
'ASP.NET' 카테고리의 다른 글
29.C# ASP.NET - FileUpload 컨트롤 [WebStandardControl] (0) | 2009.10.08 |
---|---|
28.C# ASP.NET - Html 대체 컨트롤 [WebStandardControl] (0) | 2009.10.08 |
26.C# ASP.NET - Panel [WebStandardControl] (0) | 2009.10.08 |
25.C# ASP.NET - Xml 컨트롤 [WebStandardControl] (0) | 2009.10.08 |
07.ASP.NET - 기본형 게시판(8) : 완성 (0) | 2009.10.07 |
Comments