Dan,
Not sure about referencing the Styles skin object but you could use the following code to programatically change the style sheet. You could create a skin object with this code and create a method to pass in the value that you would like the style sheet change to, possibly a value stored in a database table or even a profile property if its on a per user basis. Hope this helps.
public void ChangeCSS(string CSSValue)
{
HtmlLink css = new HtmlLink();
if (CSSValue == "")
{
CSSValue = "default";
}
string skinPath = PortalSettings.ActiveTab.SkinPath;
string selectedCSS = skinPath + CSSValue + ".css";
css.Href = selectedCSS;
css.Attributes["rel"] = "stylesheet";
css.Attributes["type"] = "text/css";
css.Attributes["media"] = "all";
css.Attributes["id"] = "themestyle";
Page.Header.Controls.Add(css);
}
protected void Page_Init(object sender, EventArgs e)
{
ChangeCSS("cssValue");
}
If you have any questions, let me know.
Derek