Файл MasterPageFile на странице ASPX приложения с автоматическим размещением
-
10-12-2019 - |
Вопрос
Я пытаюсь создать SharePoint 2013 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
Но это не работает.
Кто-нибудь может помочь мне решить эту проблему.
Решение
Когда вы создаете приложение с автоматическим размещением, удаленный веб-сайт представляет собой обычный ASP.Веб-сайт Net, а не сайт SharePoint.
Это означает, что "расширения" SharePoint для MasterPageFile, такие как специальный токен "~masterurl/default.master", не работают.
Вы все равно можете / должны использовать главную страницу в удаленном Интернете, если у вас более одной страницы, но она не будет подключена к той, которая используется на сайте SharePoint.Вам нужно добавить свою собственную MyMasterPage.Master в проект, а затем использовать это в атрибуте MasterPageFile, например:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AccordionDisplayAppWeb.Pages.Default" MasterPageFile="MyMasterPage.master" %>
Хотя ваше приложение с автоматическим размещением может не использовать главную страницу сайта SharePoint, оно может использовать стиль с помощью клиентского элемента управления chrome.: Как:Используйте клиентский элемент управления chrome в приложениях для SharePoint