我們都知道可以在 MasterPage 中可以設定 ContentPlaceHolder,但通常我們設定在 ContentPlaceHolder 這的標籤裡面都不會放任何資料,不過事實上裡面是可以放一些預設的內容的,當內容頁(Content Page)沒有使用到這個 ContentPlaceHolderID 時,就會直接用 MasterPage 中定義的預設內容來輸出。
[code:html]
<asp:ContentPlaceHolder ID="MenuPlaceHolder" runat="server">
<asp:Label
runat="server"
ID="Label1"
Text="This is default content." />
</asp:ContentPlaceHolder>
[/code]
基本上,你在 ContentPlaceHolder 中的所放置的內容就跟一般的用法一模一樣,也可以設定控制項中的事件,只是當內容頁有設定這個 ContentPlaceHolderID 時,此 MasterPage 的預設內容中的所有控制項或內容都會被自動忽略,如果你要在 Code Behind 中有寫相關程式碼的話,都要特別判斷該物件是否為 null ,否則就會發生 Exception 。
[code:c#]
if (Label1 != null)
{
Label1.PreRender += new EventHandler(Label1_PreRender);
}
[/code]