我正在尝试创建SharePoint2013 AutoHosted App.在我有一个 Default.aspx 页。我希望此页面是母版页子页面。或者类似的东西。

我创建一个 SharePoint Hosted App 并复制写在页面上的内容。然后添加到我的 Default.aspx 这是必要的一页。

我已经在我的页面上添加了波纹管行。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AccordionDisplayAppWeb.Pages.Default" MasterPageFile="~masterurl/default.master" %>

我的意思是我只是补充 MasterPageFile 属性在那。

但它给了我如下所示的错误。

Server Error in '/' Application.
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.

Parser Error Message: The file '/Pages/~masterurl/default.master' does not exist.

Source Error:


Line 1:  <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AccordionDisplayAppWeb.Pages.Default" MasterPageFile="~masterurl/default.master" %>
Line 2:  
Line 3:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


Source File: /Pages/Default.aspx    Line: 1

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17929 

但它不工作。
任何人都可以帮我解决这个问题。

有帮助吗?

解决方案

当您创建自动托管应用程序时,远程web是一个普通的ASP.Net 网站,而不是SharePoint网站。

这意味着SharePoint"扩展"到MasterPageFile就像特殊令牌"~masterurl/default。主人"不工作。

如果您有多个页面,则仍然可以/应该在远程web上使用母版页,但它与SharePoint站点中使用的页面没有连接。您需要添加自己的MyMasterPage。Master到项目,然后在MasterPageFile属性中使用它,如:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AccordionDisplayAppWeb.Pages.Default" MasterPageFile="MyMasterPage.master" %>

虽然您的autohosted应用程序可能不使用SharePoint网站的masterpage,但它可能会通过客户端chrome控件使用样式,请参阅: 如何:在sharepoint应用程序中使用客户端chrome控件

许可以下: CC-BY-SA归因
scroll top