首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SharePoint中的嵌套MasterPage不起作用

SharePoint中的嵌套MasterPage不起作用
EN

Stack Overflow用户
提问于 2010-01-27 13:33:55
回答 1查看 1.3K关注 0票数 0

我有一台SharePoint 2007服务器,并希望创建一个具有嵌套母版页的网站。

我创建了一个新的母版页test.master:

代码语言:javascript
复制
<%@ Master MasterPageFile="~masterurl/default.master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="PlaceHolderMain" runat="server">
    Test123
    <b>
    <asp:ContentPlaceHolder runat="server" ID="TestPH" Visible="true" />
    </b>
</asp:Content>

然后,我创建了一个新页面Test.aspx

代码语言:javascript
复制
<%@ Page MasterPageFile="test.master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TestPH" runat="server">
    TestChild
    <asp:Label Text="Test" runat="server" />
</asp:Content>

我使用SharePoint Designer将test.master和test.aspx上传到一个新创建的空白站点。

当我调用Test.aspx时,我只看到来自test.master的Test123 -它似乎忽略了占位符。超文本标记语言输出(包括Sharepoint default.master的摘录):

代码语言:javascript
复制
<td class='ms-bodyareaframe' valign="top" height="100%">
    <A name="mainContent"></A>
    Test123
    <b>

    </b>
</td>

现在,当我进入Test.aspx并将其母版页更改为default.master,将TestPH更改为PlaceHolderMain时,我正确地看到了TestChild测试,因此页面本身可以正常工作。

母版和ASPX页面都还没有包含CodeBehind,因此没有对web.config进行任何更改(SafeControls...)

我想知道我是否需要启用一些东西来允许嵌套母版页,或者SharePoint 2007是否像往常一样要求在祭坛上牺牲一只山羊……

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-27 15:15:17

SharePoint处理主页标记的方式有一些问题。这是因为它们允许您从数据库加载母版页,母版页不必在文件系统中。你可以在这里阅读更多信息:http://msdn.microsoft.com/en-us/library/ms476046.aspx

因为我在1.1版本之后从未使用过“常规ASP.net”,所以我不知道母版页应该如何工作。

但是,我曾经做过的事情是,将全局模板(位于/12/ default.master /default.master)的内容复制到一个不继承任何内容的新文件中,然后我将其包含在站点定义功能中,并在onet.xml文件中引用它。这里描述了该技术:http://statto1974.wordpress.com/2007/04/30/using-a-custom-master-page-in-a-site-definition/

编辑:但是,也有several references to this being possible,例如this one

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2144781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档