Anwendungsseiten mit eigenen Master Pages
Das Prinzip der Master Pages einer SharePoint-Anwendung ist eigentlich ein Feature von ASP.NET und wird von SharePoint lediglich intensiv genutzt. Ohne Weiteres ist es möglich, eine Anwendungsseite für SharePoint zu schreiben. Da es unzählige Beschreibungen zum Erstellen einer Anwendungsseite im Web gibt, gehen wir hier nicht weiter darauf ein.
Was ist eine Anwendungsseite?
Eine Anwendungsseite ist eine Inhaltsseite die im 14 Hive Ordner, unter dem entsprechenden zusätzlichen Ordner des Anwendungsseitenprojektes abgespeichert wurde.
C:\Program\FilesCommon\Files\Microsoft\SharedWeb\Server\Extensions\14\TEMPLATELAYOUTS
Anwendungsseiten sind grundsätzlich mit einer Standard SharePoint Master Page (v4.master) verknüpft.
Master Pages
Wenn man einer Anwendungsseite eine eigene erstellte Master Page zuweisen möchte, ist dies nur dann möglich, wenn man einige Punkte beachtet:
- In der Zentraladministration ist es wichtig, für die Webanwendung in der die Webseite läuft, in der zugehörigen Webanwendungsverwaltung unterAllgemeine Einstellungen > Allgemeine Einstellungendie Option-Layouts- -Seiten der Anwendung verweisen auf Websitegestaltungsvorlagen-auf Ja zu setzen.Das bedeutet, das Seiten die sich im Ordner _layouts befinden und von SharePoint aufgerufen werden, auf eigene Master Pages verweisen dürfen.
- Es ist zu beachten, das in der Page Direktive der Anwendungsseite selbst, das Attribut DynamicMasterPageFile nicht die direkte, vom User neu erstellte und zuzuweisende Masterseite mit Namen, etc. enthält, sondern lediglich ~masterurl/custom.master
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Anwendungsseite.aspx.cs" Inherits="SharepointDemo.Layouts.SharepointDemo.Anwendungsseite" DynamicMasterPageFile="~masterurl/custom.master" %>
Dies bedeutet nämlich, dass auf die – unter dem Property der Page SPWeb.CustomMasterUrl Property angegebene, Masterseite verwiesen wird.
- Die Zuweisung einer eigenen neue Masterpage kann demnach dynamisch, zum Beispiel in der CodeBehind Page_Load Methode der Anwendungsseite durchgeführt werden.
protected void Page_Load(object sender, EventArgs e) { SPWeb mywebseite = SPContext.Current.Web; mywebseite.AllowUnsafeUpdates = true; mywebseite.CustomMasterUrl = "/_catalogs/masterpage/neueseite.master"; mywebseite.Update(); }
Wenn alle genannten Punkte befolgt wurden und die Einstellungen so vorgenommen werden, wird die richtige Masterseite ausgewählt. Werden die Punkte nicht beachtet nutzt SharePoint seine Standardmasterpage (z.B. V4.master) und die eigene Masterpage wird einfach ignoriert.
Weitere Tutorials?
Natürlich haben wir noch mehr wertvolle Tipps rund um SharePoint für Sie!