Question

After upgrading a 2010 site to 2013 in 2010 UI mode, I'm unable to apply a custom master page to application (_layouts) pages. The custom master page has been configured as the Site and System master page and shows up correctly throughout the site whether logged in or not. However, I have a custom login page, e.g.

/_layouts/MyPages/Login.aspx

And the master page is not being applied there as it was prior to upgrading. I have tried both of these variants in the Page declaration:

DynamicMasterPageFile="~masterurl/default.master"
DynamicMasterPageFile="~masterurl/custom.master"

It reverts to /_layouts/simplev4.master either way.

Update: switching from having the page inherit from IdentityModelSignInPageBase to instead use UnsecuredLayoutsPageBase solved this.

Was it helpful?

Solution

The attribute "DynamicMasterPageFile" will attempt to read from the Master Pages configured on the Web.

I would start by checking out which Master Pages are set under Site Settings (or using PowerShell, checking the value of the SPWeb object for the Master Page's Urls).

Another alternative would be to hardcode the Master page you want to use by replacing the "DynamicMasterPageFile" for "MasterPageFile" and pointing to the _catalogs, as explained here:

http://mmman.itgroove.net/2012/08/24/using-a-page-specific-master-page-in-sharepoint-2010/

Additionally, I would check the "MasterPageReferenceEnabled" status, and that your Application Page inherits from "LayoutsPageBase" as explained in this link:

https://msdn.microsoft.com/en-us/library/office/ee537530(v=office.14).aspx

Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top