PlaceHolder到底什麼

PlaceHolder 是一個佔位控件,能夠在裏面添加子控件html

一.ContentPlaceHolder、Content 又是什麼呢?

    這兩者是用於母版技術的。服務器

    ContentPlaceHolder 用在母版頁中,表示這裏面的內容能夠被 aspx 頁中的 Content 內容替換,固然 aspx 頁也能夠不理會它。spa

    Content 就是用於 aspx 頁的,Content 有個屬性是 ContentPlaceHolderID,這指明瞭:母版中對的 ContentPlaceHolder 那裏就放 Content 中的內容。code

二.什麼是內容佔位符控件、內容控件和內容區域?

內容佔位符控件表明了母版頁上的可替換內容區域。它們在「代碼」視圖中顯示爲 <asp:ContentPlaceHolder>,並由contentplaceholderid 屬性映射到各自的內容佔位符控件。內容佔位符定義了內容佔位符控件所指定區域的默認內容。內容佔位符所指定的默認內容可在母版頁中進行修改,以便使這種更改出如今全部附加到該母版頁的網頁上。server

此外,內容控件(在「代碼」視圖中顯示爲 <asp:Content>)還可用在單個內容網頁上,用於覆蓋母版頁所提供的內容佔位符的默認內容。htm

內容區域是由單個內容佔位符所定義的母版頁區域,在「代碼」視圖中,內容區域的周圍是內容佔位符控件標記(若是內容由母版頁提供)或內容控件標記(若是內容屬於單個內容網頁中的自定義內容)。it

注意   由母版頁提供的內容佔位符中的內容不會出如今內容網頁的該佔位符中。class

 三. PlaceHolder 的用戶有哪些?

1. 佔位控件 PlaceHolder 用處-批量管理控件

ASP.NET 中,佔位控件 PlaceHolder 不向客戶端輸出任何 HTML 標記。用 PlaceHolder 能夠分組控件,便於批量管理。容器

<asp:PlaceHolder ID="PlaceHolder1" runat="server">    
  <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>    
  <asp:TextBox ID="TextBox2" runat="server">
  </asp:TextBox>
</asp:PlaceHolder>


上述兩個 TextBox 放在 PlaceHolder 中,用 PlaceHolder1.Visible = false; 能夠將兩個 TextBox 同時隱藏(不輸出到客戶端)。而不用一個一個地設置 Visible程序


2. 佔位控件 PlaceHolder 用處-動態添加控件

ASP.NET 中,佔位控件 PlaceHolder 不向客戶端輸出任何 HTML 標記。用 PlaceHolder 能夠「佔住位置」,而後在程序中動態處理控件(經常使用是動態添加)。

<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>

咱們再建立一個控件,添加到 PlaceHolder 中。

System.Web.UI.WebControls.TextBox tb = new TextBox();
tb.ID = "TextBox1";tb.Text = "文本框";
PlaceHolder1.Controls.Add(tb);

總結:使用PlaceHolder控件做爲容器來存儲動態添加到網頁服務器控件. PlaceHolder控件不產生任何可見的輸出,只是做爲一個容器在Web頁面上的其餘控件

相關文章
相關標籤/搜索