2017-02-15 88 views
0

我需要根據某些邏輯更改母版頁的子頁面的頁眉的文本。下面是我的母版頁代碼:從母版頁更改子頁面的文本

<div id="content-header"> 
    <h1> 
     <asp:ContentPlaceHolder ID="cphHead" runat="server"></asp:ContentPlaceHolder> 
    </h1> 
</div> 

在孩子的網頁我有下面的代碼:

<asp:Content ID="Content3" ContentPlaceHolderID="cphHead" runat="Server"> 
    TEXT 
</asp:Content> 

我怎樣才能到任何其他的母版頁更改文本的價值?

回答

1

您可以搜索MasterPage中的控件。如果直接在你的的ContentPlaceHolder喜歡你的例子設置文本,該文本將在LiteralControl:

((LiteralControl)this.FindControl("cphHead").Controls[0]).Text = "Change TEXT"; 

或者,如果你想搜索的頁面控件集合在一個控制:

ControlCollection controls = this.FindControl("cphHead").Controls; 

foreach (Control control in controls) 
{ 
    if (control.GetType() == typeof(LiteralControl)) 
    { 
     ((LiteralControl)control).Text = "Change TEXT"; 
     break; 
    } 
} 
相關問題