Há muitas maneiras de alterar os skins. A mais simples geralmente é alternar o CSS da página, e o CSS geralmente é escrito em um arquivo CSS externo. Então, mudar de CSS é, na verdade, alterar o caminho do link href em HTML. Eu procurei on-line. Geralmente há duas maneiras:
1. Colocar um controle de suporte na página. Em seguida, escreva o link CSS do estilo do usuário atual para a página programaticamente.
2. Defina estilos CSS em cada controle por meio do mecanismo de reflexão.
Os dois métodos acima são bastante problemáticos.
A primeira exige colocar um controle de suporte em cada página. Uma abordagem semelhante é adicionar runat=server à tag do link. Se houver muitas páginas, será mais problemático.
Não há necessidade de considerar o segundo. Existem muitos problemas com a eficiência da programação de desempenho.
Lembro que quando estava aprendendo DNN, encontrei uma maneira de modificar o endereço de ação padrão no formulário. Consulte-o diretamente. nada mal:
Substitua diretamente o evento Render
substituição protegida void Render (escritor System.Web.UI.HtmlTextWriter)
{
StringWriter sw = new StringWriter();
HtmlTextWriter htmlWriter = new HtmlTextWriter(sw);
base.Render(htmlWriter);
//O estilo CSS selecionado pelo usuário atual
string css = "<link href="css url" rel="stylesheet" type="text/css">"
;
int startPoint = html.IndexOf("</head>", StringComparison.CurrentCultureIgnoreCase);
if (pontoinicial > 0)
{
html = html.Insert(startPoint, css);
}
escritor.Write(html);
}
Coloque isso na classe base PageBase de cada página. Isso seria muito mais conveniente.
Claro, se você não quiser que cada página herde uma classe base personalizada, você também pode escrevê-la em HttpModule. Também é muito conveniente.
Escreva em um só lugar e será útil para todas as páginas.
http://www.cnblogs.com/kwklover/archive/2007/01/03/610822.html