ASP.NET 2.0 verfügt über eine neue Theme-Funktion, die das Skinen der Website erleichtert.
Die Theme-Implementierung umfasst: CSS, Skin, MasterPage.
CSS wird verwendet, um das Erscheinungsbild aller HTML-Tags zu steuern.
Skin wird verwendet, um das Erscheinungsbild aller ASP.NET-Serveranpassungen zu steuern, und sein CSS-Stil kann über das Attribut cssClass definiert werden.
MasterPage ist eine *.aspx-Seitenvorlage, die jedoch nicht im Theme definiert ist.
-------------------------------------------------- ----------------------------------
·Beispiel für die Erstellung eines Themes:
1. Erstellen Sie das Verzeichnis App_Themes im Webprojekt. Es handelt sich um ein vordefiniertes Verzeichnis, und ASP.NET 2.0 erkennt das Design in seinem Verzeichnis automatisch.
2. Erstellen Sie zwei Unterverzeichnisse, orangeTheme und BlueTheme, im Verzeichnis App_Themes.
3. Fügen Sie Skin-Dateien, z. B. Control.Skin, zu jedem Unterverzeichnis unter App_Themes hinzu. ASP.NET 2.0 analysiert automatisch jede Skin-Datei, und die Benennung hier muss lediglich zur Klassifizierung während der Entwicklung geeignet sein.
4. Sie können auch CSS-Dateien zu jedem Unterverzeichnis unter App_Themes hinzufügen. ASP.NET 2.0 fügt außerdem automatisch jede CSS-Datei zu jeder Seite hinzu, die diesen Stil verwendet.
·Definieren Sie Seiteninhalt und Designstil
1. Die Seitendefinition default.aspx lautet wie folgt:
<%@ Page Theme="OrangeTheme" %>
<html>
<head runat="server">
<title>Orange Seite</title>
</head>
<Körper>
<form id="form1" runat="server">
Geben Sie Ihren Namen ein:<br />
<asp:TextBox ID="txtName" Runat="Server" />
<br /><br />
<asp:Button ID="btnSubmit" Text="Submit Name" Runat="Server"/>
</form>
</body>
</html>
2. Definieren Sie Folgendes in der Control.Skin-Datei auf der OrangeTheme-Homepage:
Hinweis: Es können nur Darstellungsattribute angegeben werden, Attribute wie AutoPastback können nicht angegeben werden.
Der standardmäßige unbenannte Skin definiert den Skin für alle TextBox-Typen.
<asp:TextBox BackColor="Orange" ForeColor="DarkGreen" Runat="Server" />
<asp:Button BackColor="Orange" ForeColor="DarkGreen" Font-Bold="True" Runat="Server" />
Eine benannte SkinID definiert das Erscheinungsbild für den angegebenen TextBox-Typ.
<asp:TextBox SkinID="Title" BackColor="Orange" ForeColor="DarkGreen" Runat="Server" />
·Thema auf der Seite verwenden
1. Fügen Sie Theme="Default oben in der Aspx-Datei <%@ Seite hinzu %> " Attribut. Auf diese Weise kann das Standardthema verwendet werden.
2. Wenn Sie ein bestimmtes Theme auf die gesamte Website anwenden möchten, müssen Sie es in Web.Config definieren.
<Konfiguration>
<system.web>
<pages theme="OrangeTheme" />
</system.web>
</configuration>
Eine solche Definition entspricht einem Standard-Theme in allen Website-Dateien. Bei Verwendung kann weiterhin ein Theme für jede Seite definiert werden.
Der Skin-Teil verwendet das auf der Seite definierte Design und das CSS überschreibt das CSS-Stylesheet auf der Standard-Homepage.
3. Nachdem Sie das Thema festgelegt haben, verwenden alle Erscheinungsbilder die im Skin definierten. Sie können auch die SkinID eines Steuerelements angeben, um einzelne Skins zu definieren.
4. Wenn Sie Theme programmgesteuert definieren möchten, muss es im Page_PreInit-Ereignis wie folgt verarbeitet werden:
void Page_PreInit(object sender, EventArgs e)
{
Page.Theme = Request["ThemeName"];
Wenn Sie die MasterPage-Datei für Page programmgesteuert laden müssen, müssen Sie sie auch hier definieren.
this.MasterPageFile = Request["MasterPageFile"];
}
Das Verständnis dieser Technologien wird die Website vielseitiger machen.