Here's what I did.
In App_Code/SkinBase.cs I modified GetTemplateName(): (look at !!!!!)
Code:
private static string GetTemplateName()
{
string templateName = CommonLogic.QueryStringCanBeDangerousContent("template");
//AppLogic.CheckForScriptTag(templateName);
if (templateName == null || templateName.Length == 0)
{
// undocumented feature:
templateName = AppLogic.AppConfig("Template" + CommonLogic.GetThisPageName(false));
}
if (templateName == null || templateName.Length == 0)
{
templateName = CommonLogic.IIF(AppLogic.ProductIsMLExpress() && !AppLogic.IsAdminSite, "expressTemplate", "template");
}
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
String PN = CommonLogic.QueryStringCanBeDangerousContent("Topic");
AppLogic.CheckForScriptTag(PN);
if (PN.ToLower().Contains("guide")) //or anything you're looking for
{
templateName = "templatememberarea";
}
//Don't forget, There must be a corresponding templatememberarea.ascx (or whatever you want) template file in the ‘skins/Skin_1’ folder
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
if (templateName.Length > 0 && !templateName.EndsWith(".ascx", StringComparison.InvariantCultureIgnoreCase))
{
// undocumented feature:
templateName += ".ascx";
}
return templateName;
}