MasterPageFile auf der ASPX-Seite der AutoHosted App
-
10-12-2019 - |
Frage
Ich versuche, SharePoint 2013 zu erstellen AutoHosted App
.Darin habe ich eine Default.aspx
Seite.Ich möchte, dass diese Seite eine untergeordnete Masterseite ist.Oder etwas ähnliches.
Ich erstelle eine SharePoint Hosted App
und kopieren Sie den Inhalt, der auf der Seite geschrieben wurde.und dann zu meinem hinzugefügt Default.aspx
Seite, die notwendig waren.
Ich habe meiner Seite die folgende Zeile hinzugefügt.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AccordionDisplayAppWeb.Pages.Default" MasterPageFile="~masterurl/default.master" %>
Ich meine, ich füge nur hinzu MasterPageFile
Attribut darin.
Aber es gibt mir den folgenden Fehler.
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
Aber es funktioniert nicht.
Kann mir jemand helfen, dieses Problem zu lösen?
Lösung
Wenn Sie eine AutoHosted-App erstellen, ist das Remote-Web eine gewöhnliche ASP.Net-Website und keine SharePoint-Site.
Dies bedeutet, dass die SharePoint-„Erweiterungen“ für MasterPageFile wie das spezielle Token „~masterurl/default.master“ nicht funktionieren.
Sie können/sollten weiterhin eine Masterseite im Remote-Web verwenden, wenn Sie mehr als eine Seite haben, diese hat jedoch keine Verbindung zu der Seite, die auf der SharePoint-Site verwendet wird.Sie müssen dem Projekt Ihre eigene MyMasterPage.Master hinzufügen und diese dann im MasterPageFile-Attribut verwenden, wie zum Beispiel:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AccordionDisplayAppWeb.Pages.Default" MasterPageFile="MyMasterPage.master" %>
Während Ihre automatisch gehostete App möglicherweise nicht die Masterseite der SharePoint-Website verwendet, verwendet sie möglicherweise das Styling über das Client-Chrome-Steuerelement, siehe: Wie man:Verwenden Sie das Client-Chrome-Steuerelement in Apps für SharePoint