2012-02-09 16 views
20

Posiadanie "duh" moment próbuje wdrożyć nową zawartość stronyJak rozwiązać problem Nie można znaleźć błędu ContentPlaceHolder?

Oto struktura

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

Mark up:

Strona wzorcowa

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

Zagnieżdżony Mistrz Strona

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

zawartości strony zagnieżdżonych magisterska

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

Otrzymuj błąd:

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

Co mogę robić źle?

+0

to możliwe, że zawartość stron jest odnosząc się do najbardziej zewnętrznej strony wzorcowej zamiast do zagnieżdżonej? – n8wrl

+0

Po pierwsze, zagnieżdżasz strony wzorcowe. Co cię to kupuje? Najprawdopodobniej masz błędną definicję wzorca u góry strony aspx. Czy możesz pokazać nam dyrektywę MasterPageFile strony Nested Content? –

+0

@ n8wrl - Nie wiem jak, ponieważ mam to na stronie treści: MasterPageFile = "~/Widoki/Interwencja/InterventionMaster.master –

Odpowiedz

25

Nie masz ContentPlaceHolder z ID = "Content2". Masz tylko treść z takim identyfikatorem. Umieść kolejny element zastępczy wewnątrz treści za pomocą ID="Content2", a następnie połącz się z zawartością strony.

Strona wzorcowa

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

Zagnieżdżony Strona wzorcowa

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

zagnieżdżonych magisterska zawartości strony

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

O, to właśnie to było. –

+0

Witaj, wystąpił błąd składniowy w zagnieżdżonym wzorcu sekcja strony: CotentPlaceHolderID powinien być ContentPlaceHolderID –

2

Brudny-szybkie rozwiązaniem byłoby ominąć zagnieżdżonych stronę wzorcową od zawartości strony zagnieżdżonego Mistrza

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

KorzystającID="MainContent"

<asp:Content ID="Content2" ContentPlaceHolder ID="MainContent" runat="server"></asp:Content> 
Powiązane problemy