使用 PlaceHolder 控件可以將空容器控件放到網頁中,然後在運行時動態添加、刪除或遍歷各子元素。該控件只呈現其子元素;它本身並沒有基於 HTML 的輸出。
在實際使用過程中可以向PlaceHolder添加任何Html控件,甚至包括JavaScript代碼。
將 PlaceHolder 控件用作存儲動態添加到網頁的服務器控件的容器。PlaceHolder 控件不產生任何可見輸出並且只能用作網頁上其他控件的容器。可以使用 Control.Controls 集合添加、插入或移除 PlaceHolder 控件中的控件。
一、PlaceHolder 動態添加控件
前台:
復制代碼 代碼如下:
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
後台:
復制代碼 代碼如下:
Button btnNew=new Button();//聲明一個新的按鈕
btnNew.Text = "新的按鈕";
PlaceHolder1.Controls.Add(btnNew);//添加到控件中
Literal litNewHTML = new Literal();//添加<br/>或<p>或普通text使用這種方式
litNewHTML.Text = "<p>我是一段HTML代碼</p>";
PlaceHolder1.Controls.Add(litNewHTML);
二、PlaceHolder 動態添加 Web用戶控件
創建 Test.ascx 寫上代碼如下:
復制代碼 代碼如下:
<div>
我是Test.ascx控件裡的內容
</div>
創建單獨的WinForm1.aspx頁面:
前台:
復制代碼 代碼如下:
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
後台:
復制代碼 代碼如下:
PlaceHolder1.Controls.Clear(); //清除所有控件
Control test = Page.LoadControl("~/Test.ascx");
PlaceHolder1.Controls.Add(test);