Я искал в Интернете и не нашел никаких ответов (было несколько близких вопросов о переполнении стека, но они, похоже, не получили ответа или не были идентичны), поэтому я решил поставить один из своих , Он вращается вокруг вложенных главных страниц и страницы содержимого, обращающейся к Content PlaceHolder мастера-прародителя, даже если он не повторно выставлен в родительском вложенном мастере. Мне интересно, если это невозможно.
Базовый сайт. Мастер
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>
<asp:ContentPlaceHolder ID="TitleContent" runat="server">
<%= Html.GlobalModel().PageTitle %>
</asp:ContentPlaceHolder>
</title>
<asp:ContentPlaceHolder ID="HeadContent" runat="server">
<link rel="shortcut icon"
href="<%= ViewContext.ClientContent( "Content/Tiki.ico" ) %>"
type="image/x-icon"/>
</asp:ContentPlaceHolder>
</head>
<body>
<asp:ContentPlaceHolder ID="SiteContent" runat="server"/>
</body>
</html>
Вложенный Site.Master (обратите внимание, что TitleContent и HeadContent не были настроены, поэтому содержимое по умолчанию из Core Site.Master должно вступить в силу)
<%@ Master Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewMasterPage" %>
<asp:Content ContentPlaceHolderID="SiteContent" runat="server">
<asp:ContentPlaceHolder ID="SiteContent" runat="server">
<h1>Nested Header</h1>
<asp:ContentPlaceHolder ID="NestedContent" runat="server"/>
</asp:ContentPlaceHolder>
</asp:ContentPlaceHolder>
ContentView.aspx (ссылаясь на Nested Site.Master, попытка замены TitleContent не будет работать).
<%@ Page Language="C#" MasterPageFile="Site.Master" %>
<asp:Content ContentPlaceHolderID="NestedContent" runat="server">
<p>Nested content. This will work.</p>
</asp:Content>
<asp:Content ContentPlaceHolderID="TitleContent" runat="server">
Nested Title. This will **not** work.
</asp:Content>