Файл MasterPageFile на странице ASPX приложения с автоматическим размещением

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/70707

Вопрос

Я пытаюсь создать 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top