Это очень поздний ответ, но я думаю, что вам понравится ..
Вы можете изменить тему страницы в событии PreInit, но у вас нет базовой страницы ..
На главной странице создайте выпадающий список с именем ddlTema, после чего напишите этот блок кода в свой Global.asax. Посмотрите, как работает магия:)
public class Global : System.Web.HttpApplication
{
protected void Application_PostMapRequestHandler(object sender, EventArgs e)
{
Page activePage = HttpContext.Current.Handler as Page;
if (activePage == null)
{
return;
}
activePage.PreInit
+= (s, ea) =>
{
string selectedTheme = HttpContext.Current.Session["SelectedTheme"] as string;
if (Request.Form["ctl00$ddlTema"] != null)
{
HttpContext.Current.Session["SelectedTheme"]
= activePage.Theme = Request.Form["ctl00$ddlTema"];
}
else if (selectedTheme != null)
{
activePage.Theme = selectedTheme;
}
};
}