2012-02-09 55 views
20

有一個 「咄」 的時刻試圖執行一個新的內容頁面如何解決無法找到ContentPlaceHolder錯誤?

這裏的結構

Master Page 
---- Nested Master Page 
-------- Nested Master's Content Page 

標記:

母版頁

<asp:ContentPlaceHolder ID="bodyContent" runat="server"> 
</asp:ContentPlaceHolder> 

嵌套母頁面

MasterPageFile="~/Views/Shared/Administrator.Master" 
<asp:Content ID="Content2" CotentPlaceHolderID="bodyContent" runat="server"> 
</asp:Content> 

嵌套母的內容頁

MasterPageFile="~/Views/Intervention/InterventionMaster.master" 
<asp:Content runat="server" ID="myContent" ContentPlaceHolderID="Content2"> 
</asp:Content> 

接收錯誤:

Cannot find ContentPlaceHolder 'Content2' in the master page '/Views/Intervention/InterventionMaster.master', verify content control's ContentPlaceHolderID attribute in the content page.

什麼可能我是做錯了什麼?

+0

是有可能,你的內容頁面指的是最外面的母版頁,而不是嵌套版? – n8wrl 2012-02-09 18:13:02

+0

首先,您嵌套母版頁。這會給你買什麼?很可能你的aspx頁面頂部有錯誤的主定義。你能向我們展示嵌套內容頁面的MasterPageFile指令嗎? – 2012-02-09 18:14:25

+0

@ n8wrl - 不知道如何,因爲我在內容頁面有這個:MasterPageFile =「〜/ Views/Intervention/InterventionMaster.master – 2012-02-09 18:14:33

回答

25

您沒有ContentPlaceHolderID = "Content2"。你只有這樣的ID的內容。在ID="Content2"的內容中放置另一個佔位符,然後連接頁面內容。

母版頁

<asp:ContentPlaceHolder ID="bodyContent" runat="server"> 
</asp:ContentPlaceHolder> 

嵌套母版頁

<asp:Content ID="Content2" ContentPlaceHolderID="bodyContent" runat="server"> 
    <asp:ContentPlaceHolder ID="nestedContent" runat="server"> 
    </asp:ContentPlaceHolder> 
</asp:Content> 

嵌套母的內容頁

<asp:Content runat="server" ID="myContent" ContentPlaceHolderID="nestedContent"> 
</asp:Content> 
+0

呵呵,就是這樣 – 2012-02-09 18:18:21

+0

你好在嵌套的master裏有一個語法錯誤頁面部分:CotentPlaceHolderID應該是ContentPlaceHolderID – 2016-08-03 17:29:46

2

的髒快速解決辦法是從嵌套母的內容頁繞過嵌套母版頁

protected void Page_PreInit(object sender, EventArgs e) 
     { 
      Master.MasterPageFile = "~/Whatever.Master"; 
     } 
0

使用ID="MainContent"

<asp:Content ID="Content2" ContentPlaceHolder ID="MainContent" runat="server"></asp:Content> 
相關問題