我有一个自定义母版页。我希望将此母版页应用于应用程序(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托管应用程序中重用自定义母版页。
请建议
答案 0 :(得分:0)
如果您参考seattle.Master母版页,它的工作原理是因为该应用网页中的母版页。您可以进行测试,修改Host Web中的seattle.Master并检查加载项是否适用。
主机网站中的自定义母版页,因此无法在插件中使用。
因此,我们需要创建一个包含母版页的模块,它会将母版页部署到app web。