Sharepoint托管APP的自定义母版页

时间:2018-03-27 04:46:03

标签: sharepoint-online

我有一个自定义母版页。我希望将此母版页应用于应用程序(SharePoint托管)。该应用程序包含一个aspx页面(Default.aspx)。

默认情况下,Default.aspx继承母版页,如下所示:

<%@ Page Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" 
    MasterPageFile="~masterurl/default.master" Language="C#" %>

当我添加对继承seattle.Master的引用时,如下所示 - seattle.master完美地应用于应用程序:

<%@ Page Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" 
    MasterPageFile="~site/_catalogs/masterpage/seattle.master"Language="C#" %>

同样,如果我应用我的自定义母版页(下面是代码),它不起作用。该应用程序抛出File Not Found错误。

<%@ Page Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" 
    MasterPageFile="~site/_catalogs/masterpage/Custom.master"Language="C#" %>

注意:seattle.Master和Custom.Master(西雅图母版页的副本)位于同一位置。

许多文章建议我们使用母版页和部署来创建模块。 (http://anthony-verschraegen.blogspot.com/2013/03/sharepoint-2013-apps-custom-app-master.html?_sm_au_=iVVRQfD1Zms2VTZr

我的问题是,为什么在/ _catalogs / masterpage位置有母版页时我们需要一个模块?

我必须在多个SharePoint托管应用程序中重用自定义母版页。

请建议

1 个答案:

答案 0 :(得分:0)

如果您参考seattle.Master母版页,它的工作原理是因为该应用网页中的母版页。您可以进行测试,修改Host Web中的seattle.Master并检查加载项是否适用。

主机网站中的自定义母版页,因此无法在插件中使用。

因此,我们需要创建一个包含母版页的模块,它会将母版页部署到app web。