Ich benutze MVC, um eine Webanwendung zu entwickeln, und ich muss verschachtelte MasterPages in meiner Site verwenden, um die Visual Components zu teilen.Verschachtelte MVC-Musterseiten
Ich habe zwei Masterseiten und einen Content:
- Parent.master
- Child.master
- Content.aspx
Ich möchte ein Content auf der Spitze platziert verweisen Parent.master aus der Inhaltsansicht mit Child.master als MasterPage. Es scheint, dass ich die ContentPlaceHolders von der direkten Eltern, aber nicht von der indirekten Eltern verwenden kann. Beginnen wir mit einer Probe sehen:
Parent.master
<%@ Master Language="C#"
Inherits="System.Web.Mvc.ViewMasterPage"%>
<HTML>
<head runat="server">
<title>
<asp:contentplaceholder id="Title" runat="server" />
</title>
</head>
<body>
<asp:contentplaceholder id="Body" runat="server" />
</body>
<HTML>
Child.Master
<%@ Master Language="C#" MasterPageFile="~/Views/Shared/Parent.master"
Inherits="System.Web.Mvc.ViewMasterPage"%>
<asp:Content ID="BodyContent" ContentPlaceHolderID="Body" runat="server">
<asp:contentplaceholder id="Body1" runat="server" />
<asp:contentplaceholder id="Body2" runat="server" />
</asp:Content>
Content.aspx
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Child.master"
Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content ID="TitleContent" ContentPlaceHolderID="Title" runat="server">
<!-- Placed to the top parent Master page (does not work) -->
The page title
</asp:Content>
<asp:Content ID="Body1Content" ContentPlaceHolderID="Body1" runat="server">
<!-- Placed in the direct parent Master page (Works) -->
Body content 1
</asp:Content>
<asp:Content ID="Body2Content ContentPlaceHolderID="Body2" runat="server">
<!-- Placed in the direct parent Master page (Works) -->
Body content 2
</asp:Content>
Das Ergebnis ist, dass ich Body content 1
und Body content 2
auf meiner Seite sehen kann, aber nicht die page title
.
Verwandte Frage http://stackoverflow.com/questions hinzufügen/947134/sind-dort-verschachtelte-Master-Seiten-in-asp-net-mvc –