umbraco模板错误:"内容控件必须是内容页面中的顶级控件或引用母版页的嵌套母版页."

hol*_*rld 2 templates master-pages umbraco

我遇到了一个我似乎无法解释的问题.我在Umbraco中设置了一个主模板和两个子模板,我收到以下错误:

内容控件必须是内容页面中的顶级控件或引用母版页的嵌套母版页.

我首先检查以确保我的主孩子模板代码,它似乎没问题.我删除了有问题的模板,重新创建了新模板,甚至使用了ID名称,但没有任何改变.

这是主模板(A-BTestingItem.master)代码:

<%@ Master Language="C#" MasterPageFile="~/umbraco/masterpages/default.master" AutoEventWireup="true" %> 
<asp:ContentPlaceHolder Id="MainContent" runat="server">
<umbraco:Macro Alias="Redirector" runat="server" />
</asp:ContentPlaceHolder>
Run Code Online (Sandbox Code Playgroud)

这是模板A的第一个子模板代码:

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

<asp:content ContentPlaceHolderId="MainContent" runat="server">
Hello from Template A
</asp:content>
Run Code Online (Sandbox Code Playgroud)

这是模板B的第二个子模板代码:

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

<asp:content ContentPlaceHolderId="MainContent" runat="server">
Hello from Template B
</asp:content>
Run Code Online (Sandbox Code Playgroud)

我将模板A和B分配给文档类型.当我发布文档并查看它时,我收到了上面的错误.我很难过.我在另一篇文章中读过,这可能是病毒的症状但目前似乎并非如此.任何帮助深表感谢!!

Dou*_*low 5

你的主模板(A-BTestingItem.master)缺少一个Content标签,它应该包装ContentPlaceHolder标签,如下所示:

<%@ Master Language="C#" MasterPageFile="~/umbraco/masterpages/default.master" AutoEventWireup="true" %>
<asp:Content ContentPlaceHolderId="ContentPlaceHolderDefault" runat="server">
    <asp:ContentPlaceHolder Id="MainContent" runat="server">
        <umbraco:Macro Alias="Redirector" runat="server" />
    </asp:ContentPlaceHolder>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)