O ASP.NET 2.0 possui uma nova função Theme, que facilita a skin do site.
A implementação do tema inclui: CSS, Skin, MasterPage.
CSS é usado para controlar a aparência de todas as tags HTML.
Skin é utilizado para controlar a aparência de todos os ajustes do servidor ASP.NET, e seu estilo CSS pode ser definido através do atributo cssClass.
MasterPage é um modelo de página *.aspx, mas não está definido no Theme.
-------------------------------------------------- ----------------------------------
·Exemplo de criação de Tema:
1. Crie o diretório App_Themes no projeto Web. É um diretório predefinido e o ASP.NET 2.0 reconhecerá automaticamente o tema em seu diretório.
2. Crie dois subdiretórios, orangeTheme e BlueTheme, no diretório App_Themes.
3. Adicione arquivos de skin, como Control.Skin, a cada subdiretório em App_Themes. O ASP.NET 2.0 analisará automaticamente cada arquivo de skin, e a nomenclatura aqui só precisa ser conveniente para classificação durante o desenvolvimento.
4. Você também pode adicionar arquivos CSS a cada subdiretório em App_Themes. O ASP.NET 2.0 também adicionará automaticamente todos os arquivos CSS a todas as páginas que usam esse estilo.
·Definir o conteúdo da página e o estilo do tema
1. A definição da página default.aspx é a seguinte:
<%@ Page Theme="OrangeTheme" %>
<html>
<head runat="servidor">
<title>Página Laranja</title>
</head>
<corpo>
<form id="form1" runat="servidor">
Digite seu nome:<br />
<asp:TextBox ID="txtName" Runat="Servidor" />
<br /><br />
<asp:Button ID="btnSubmit" Text="Nome de envio" Runat="Servidor"/>
</form>
</body>
</html>
2. Defina como segue no arquivo Control.Skin na página inicial do OrangeTheme:
Nota: Somente atributos de aparência podem ser especificados e atributos como AutoPastback não podem ser especificados.
O Skin sem nome padrão definirá o skin para todos os tipos de TextBox.
<asp:TextBox BackColor="Orange" ForeColor="DarkGreen" Runat="Servidor" />
<asp:Button BackColor="Orange" ForeColor="DarkGreen" Font-Bold="True" Runat="Server" />
Ter um SkinID nomeado definirá a aparência do tipo de TextBox especificado.
<asp:TextBox SkinID="Title" BackColor="Orange" ForeColor="DarkGreen" Runat="Server" />
·Usar Tema na página
1. Adicione Theme="Default no topo do arquivo Aspx <%@ Página %> "atributo. Desta forma ele pode usar o tema Padrão.
2. Caso queira aplicar um determinado Tema em todo o site, é necessário defini-lo no Web.Config.
<configuração>
<sistema.web>
<pages theme="OrangeTheme" />
</system.web>
</configuration>
Tal definição é equivalente a um tema padrão em todos os arquivos do site. O tema ainda pode ser definido para cada página quando usado.
A parte Skin usará o tema definido na página, e o CSS substituirá a folha de estilos CSS na página inicial padrão.
3. Após especificar o Tema, todas as aparências utilizarão as definidas em Skin. Você também pode especificar o SkinID de um controle para definir skins individuais.
4. Caso queira definir o Tema programaticamente, ele deverá ser processado no evento Page_PreInit, da seguinte forma:
void Page_PreInit(object sender, EventArgs e)
{
Page.Theme = Request["ThemeName"];
Se você precisar carregar programaticamente o arquivo MasterPage para Page, também precisará defini-lo aqui.
this.MasterPageFile = Solicitação["MasterPageFile"];
}
Compreender essas tecnologias tornará o site mais versátil.