ASP.NET 2.0 dispose d'une nouvelle fonction Thème, qui facilite l'habillage du site Web.
La mise en œuvre du thème comprend : CSS, Skin, MasterPage.
CSS est utilisé pour contrôler l'apparence de toutes les balises HTML.
Le skin est utilisé pour contrôler l'apparence de tous les ajustements du serveur ASP.NET, et son style CSS peut être défini via l'attribut cssClass.
MasterPage est un modèle de page *.aspx, mais il n'est pas défini dans Theme.
-------------------------------------------------- ----------------------------------
·Exemple de création de thème :
1. Créez le répertoire App_Themes dans le projet Web. Il s'agit d'un répertoire prédéfini et ASP.NET 2.0 reconnaîtra automatiquement le thème dans son répertoire.
2. Créez deux sous-répertoires, orangeTheme et BlueTheme, dans le répertoire App_Themes.
3. Ajoutez des fichiers Skin, tels que Control.Skin, à chaque sous-répertoire sous App_Themes. ASP.NET 2.0 analysera automatiquement chaque fichier Skin, et le nom ici doit uniquement être pratique pour la classification pendant le développement.
4. Vous pouvez également ajouter des fichiers CSS à chaque sous-répertoire sous App_Themes. ASP.NET 2.0 ajoutera également automatiquement chaque fichier CSS à chaque page utilisant ce style.
· Définir le contenu de la page et le style du thème
1. La définition de la page default.aspx est la suivante :
<%@ Page Theme="OrangeTheme" %>
<html>
<head runat="serveur">
<titre>Page orange</titre>
</tête>
<corps>
<form id="form1" runat="serveur">
Entrez votre nom :<br />
<asp:TextBox ID="txtName" Runat="Serveur" />
<br /><br />
<asp:Button ID="btnSubmit" Text="Soumettre le nom" Runat="Serveur"/>
</form>
</corps>
</html>
2. Définissez comme suit dans le fichier Control.Skin sur la page d'accueil d'OrangeTheme :
Remarque : seuls les attributs d'apparence peuvent être spécifiés, et les attributs tels que AutoPastback ne peuvent pas être spécifiés.
Le skin sans nom par défaut définira le skin pour tous les types TextBox.
<asp:TextBox BackColor="Orange" ForeColor="DarkGreen" Runat="Server" />
<asp:Button BackColor="Orange" ForeColor="DarkGreen" Font-Bold="True" Runat="Server" />
Avoir un SkinID nommé définira l'apparence du type TextBox spécifié.
<asp:TextBox SkinID="Title" BackColor="Orange" ForeColor="DarkGreen" Runat="Server" />
·Utiliser le thème dans la page
1. Ajoutez Theme="Default en haut du fichier Aspx <%@ Page %> " attribut. De cette façon, il peut utiliser le thème par défaut.
2. Si vous souhaitez appliquer un certain thème à l'ensemble du site Web, vous devez le définir dans Web.Config.
<configuration>
<système.web>
<pages theme="OrangeTheme" />
</system.web>
</configuration>
Une telle définition équivaut à un thème par défaut dans tous les fichiers du site Web. Le thème peut toujours être défini pour chaque page lorsqu'il est utilisé.
La partie Skin utilisera le Thème défini dans la Page, et le CSS remplacera la feuille de style CSS dans la page d'accueil par défaut.
3. Après avoir spécifié le thème, toutes les apparences utiliseront celles définies dans Skin. Vous pouvez également spécifier le SkinID d’un contrôle pour définir des skins individuels.
4. Si vous souhaitez définir le thème par programme, il doit être traité dans l'événement Page_PreInit, comme suit :
void Page_PreInit(object sender, EventArgs e)
{
Page.Theme = Request["ThemeName"];
Si vous devez charger par programme le fichier MasterPage pour Page, vous devez également le définir ici.
this.MasterPageFile = Requête["MasterPageFile"];
}
Comprendre ces technologies rendra le site Web plus polyvalent.