2012-12-06 15 views
6

chcę użyć zagnieżdżonych stronę wzorcową więc stworzyć następującą stronę Master:kontroluje zawartość mają być kontrole na najwyższym poziomie w zawartości strony lub zagnieżdżone strony wzorcowej, która odwołuje się do strony wzorcowej

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="test.master.cs" Inherits="DocumentFlowUI.test" MasterPageFile="~/MasterPage2.master" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <asp:ContentPlaceHolder ID="head" runat="server"> 
    </asp:ContentPlaceHolder> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> 
      <asp:Button ID="Button1" runat="server" Text="Button" /> 
     </asp:ContentPlaceHolder> 
    </div> 
    </form> 
</body> 
</html> 

i stworzyć następującą stronę, aby użyć tej strony wzorcowej:

<%@ Page Title="" Language="C#" MasterPageFile="~/test.Master" AutoEventWireup="true" CodeBehind="WebForm4.aspx.cs" Inherits="DocumentFlowUI.WebForm4" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
</asp:Content> 

pojawia się następujący błąd:

kontroluje zawartość mają być kontrole na najwyższym poziomie w zawartości strony albo zagnieżdżone strony wzorcowej, która odwołuje się do strony wzorcowej

+0

Czy to z powodu swojej 'ContentPlaceHolder' w strona wzorcowa najwyższego poziomu i s w twojej "formie", która jest serwerem runat, więc nie jest na najwyższym poziomie? – Chris

Odpowiedz

8

HTML-kodu w zagnieżdżonej masterpage musi być owinięty asp: content-tag z contentplaceholderid z master "master".

3

Wystarczy wykazać Erika punkt:

nadrzędna Masterpage:

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

Masterpage dziecka:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
    <asp:ContentPlaceHolder ID="head" runat="server" /> 
</asp:Content> 

strony:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
    <!-- content --> 
</asp:Content> 
Powiązane problemy