Umbraco嵌套主页

Bil*_*ill 2 asp.net master-pages umbraco

我正在尝试在Umbraco 4.7.1中创建嵌套的母版页,我遇到了问题.

我有一个母版页doctype和一个索引doctype,它是masterpage的子代.

然后我有一个单独的doctype称为幻灯片放映.

我的内容如下:

  • 指数
    • 幻灯片

我的母版页模板具有对索引的引用,如下所示:

    <asp:ContentPlaceHolder ID="Content" runat="server" />
Run Code Online (Sandbox Code Playgroud)

然后在索引里面我的代码介于两者之间

    <asp:Content ContentPlaceHolderID="Content" runat="server">
    </asp:Content>
Run Code Online (Sandbox Code Playgroud)

在索引模板中,我引用了下一个级别,即图像滑块

    <asp:ContentPlaceHolder ID="SlideShow" runat="server" />
Run Code Online (Sandbox Code Playgroud)

并且SlideShow模板之间有代码

    <asp:Content ContentPlaceHolderID="SlideShow" runat="server">
    </asp:Content> 
Run Code Online (Sandbox Code Playgroud)

它适用于索引,但不适用于幻灯片.

我能想到的唯一区别是索引的doctype实际上是master的子doctype.SlideShow doctype实际上是它自己的doctype.不是他们中的任何一个孩子.

任何想法如何让这个工作?

Gor*_*ram 5

在Umbraco中嵌套页面非常好.实际上,它实际上是一种ASP.Net机制,它不一定与Umbraco中的任何heirachy有关.因此,可以使用不会相互继承的唯一Umbraco文档类型,但是另一个主模板嵌套在一起.

主模板的工作方式是主模式没有指定哪些模板从模板继承,它始终是引用主模板的子模板,非常类似于面向对象编程语言中的继承.子项中的<asp:Content />标记指定<asp:ContentPlaceHolder />它从父项中使用的标记.

我对你如何从描述中设置主模板感到有点困惑,但你应该尝试将其设置如下...

Root Master模板:

<asp:ContentPlaceHolder ID="Content" runat="server" />
Run Code Online (Sandbox Code Playgroud)

索引主模板:

<asp:Content ContentPlaceHolderID="Content" runat="server">

    <!-- your html -->

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

    <!-- your html -->

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

    <!-- your html -->

</asp:Content>
Run Code Online (Sandbox Code Playgroud)

幻灯片放映主模板:

<asp:Content ContentPlaceHolderID="IndexLeft" runat="server">

    <!-- your html -->

</asp:Content>
<asp:Content ContentPlaceHolderID="IndexRight" runat="server">

    <!-- your html -->

</asp:Content>
Run Code Online (Sandbox Code Playgroud)

您可以根据需要创建任意数量的嵌套模板,允许健全.制作文档类型使用模板Index将不包括幻灯片放映.你需要给它Slide Show模板.

这里有更多信息:http://msdn.microsoft.com/en-us/library/ie/x2b3ktt7.aspx

希望能帮助到你.