SharePoint 2010 - Specificare la master page su un page layout

Cosa faccio se voglio specificare una master page per un particolare page layout su un sito SharePoint dove è abilitata la feature di pubblicazione?

Normalmente indicare l’attributo MasterPageFile nel file aspx sarebbe sufficiente:

 

<%@ Page language="C#" MasterPageFile="MyCustom.master" Inherits="Microsoft.SharePoint.Publishing.PublishingLayoutPage,Microsoft.SharePoint.Publishing,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" %>

 

Il problema si trova nel fatto che la classe PublishingLayoutPage sovrascrive quanto indicato nell’attributo durante l’evento OnPreInit.

L’unica soluzione è quindi di sovrascrivere tale evento indicando qui la nostra master page personalizzata:

 

<script runat="server">

protected override void OnPreInit(EventArgs e)

{

    base.OnPreInit(e);

    this.MasterPageFile = "MyCustom.master";

}

</script>

Technorati Tags:

posted @ giovedì 17 novembre 2011 12:09

Print
Comments have been closed on this topic.
«novembre»
domlunmarmergiovensab
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345