我正在使用umbraco CMS版本4.11.3
内容嵌套母版页未加载(或显示)。
(内容标题模板未显示。)
请帮我。


Master.master代码:

<%@ Master Language="C#" MasterPageFile="~/umbraco/masterpages/default.master" AutoEventWireup="true" %>

<asp:Content ContentPlaceHolderID="ContentPlaceHolderDefault" runat="server">
    <!doctype html>
    <html>
    <head title="Movafaqiyat" runat="server">

    </head>
    <body>
        <form id="form1" runat="server">
            <div id="MasterMaster" style="width: 100%;">
                <div style="width: 100%;">
                    <asp:ContentPlaceHolder ID="HeaderParentContent" runat="server">
                    </asp:ContentPlaceHolder>
                </div>
                <div style="width: 100%;">
                    <asp:ContentPlaceHolder ID="MenuContent" runat="server">
                    </asp:ContentPlaceHolder>
                </div>
                <div style="width: 100%;">
                    <asp:ContentPlaceHolder ID="FooterParentContent" runat="server">
                    </asp:ContentPlaceHolder>
                </div>
            </div>
        </form>
    </body>
    </html>
</asp:Content>



  块引用
      HeaderParent.master代码:


<%@ Master Language="C#" MasterPageFile="~/masterpages/Master.master" AutoEventWireup="true" %>

<asp:Content ContentPlaceHolderID="HeaderParentContent" runat="server">
    <div id="HeaderParentMaster" style="width: 100%; border: 1px solid red;">
        <div>
            <asp:ContentPlaceHolder ID="HeaderContent" runat="server">
            </asp:ContentPlaceHolder>
        </div>
    </div>
</asp:Content>



  块引用
      Header.master代码:


<%@ Master Language="C#" MasterPageFile="~/masterpages/HeaderParent.master" AutoEventWireup="true" %>
    <asp:Content ContentPlaceHolderID="HeaderContent" runat="server">
        <div style="width: 100%">
            Did not show HEADER.Master IN HERE!
        </div>
    </asp:Content>

最佳答案

我认为您最好创建宏以封装一些小的功能(如Header Content)并将其放入Master.master模板中。而不是继承母版页,其中子母版页仅用于简单呈现。

按照设计的立场,您将创建使用Header.master文件中设置的设计的页面-我认为您实际上并不想要这样做。这建议您将基于header.Master模板创建一个名为header.aspx的内容页面,这听起来是错误的。

母版页可以继承结构和设计-但是链底部的最终模板是要呈现的页面的基础,该页面包含在连接的doctype中设置的字段-不仅仅是用于呈现。

如下所示,您可以将呈现的内容(静态或动态)放入宏中,作为一种奖励,然后可以将该宏缓存在Umbraco中:

<div style="width: 100%;">
    <asp:Macro ID="HeaderParentContent" runat="server" parm1="#inheritedValue"/>
</div>


如果您打算将内容模板放在header.master模板下(例如MyPageTemplate.master),则您的设计仍然可以使用-但看起来仍然比需要的复杂。

关于c# - 内容嵌套母版页未显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14304777/

10-16 10:35