2012-12-06 11 views
6

Ich mag Seite verschachtelte Master verwenden, so dass ich die folgende Master-Seite zu erstellen:Inhalt Kontrollen haben Top-Level-Kontrollen in einer Content-Seite oder eine verschachtelte Masterseite sein, die eine Masterseite verweist

<%@ 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> 

und ich erstellen Sie die folgende Seite, dass die Master-Seite zu verwenden:

<%@ 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> 

ich die folgende Fehlermeldung erhalten:

Inhalt Kontrollen haben Top-Level-Kontrollen in einer Content-Seite oder eine verschachtelte Master-Seite sein, die eine Masterseite

verweist
+0

Ist es, weil Ihr 'ContentPlaceHolder' in die oberste Masterseite i s in Ihrer 'Form', die Runat Server ist, so ist es nicht oberste Ebene? – Chris

Antwort

8

Der HTML-Code in Ihrer verschachtelten Masterpage muss mit einem asp gewickelt werden: content-tag mit einer contentplaceholderid von der Master-Hauptseite.

3

Gerade Eriks Punkt zu demonstrieren:

Eltern Masterpage:

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

Kindermasterpage:

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

Seite:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
    <!-- content --> 
</asp:Content> 
Verwandte Themen