Question

J'utilise les logos à titre d'exemple.

J'essaie d'utiliser des thèmes / skins pour la première fois dans ASP.NET - et j'essaie simplement de comprendre exactement ce qu'ils me permettront de faire.

Autant que je sache, les thèmes servent principalement à modifier les commandes, telles que les boutons, qui peuvent être modifiés à l'aide d'images. Mais y a-t-il un moyen de personnaliser un "logo" ou d'autres graphiques à l'aide de thèmes? En lisant la documentation, je ne pouvais pas immédiatement trouver un moyen de le faire.

Était-ce utile?

La solution

Vous pouvez facilement définir une image / un logo à l'aide de thèmes / skins. Par exemple. si vous avez un contrôle d’image comme celui-ci:

<asp:Image id="imgLogo" runat="server" SkinId="logo" ... />

Dans vos fichiers de skin, vous pouvez ensuite spécifier l'image à afficher, par exemple. dans App_Themes / theme1 / logo.skin:

<asp:Image runat="server" SkinId="logo" ImageUrl="~/images/logo1.png" />

Et dans App_Themes / theme2 / logo.skin:

<asp:Image runat="server" SkinId="logo" ImageUrl="~/images/logo2.png" />

Cela ne se limite pas à la propriété ImageUrl. Vous pouvez définir la plupart des propriétés des contrôles à partir de fichiers skin.

Autres conseils

J'ai récemment utilisé des thèmes ASP.net pour créer un site portant une marque dynamique avec différents logos et autres images en fonction de l'affilié qui a envoyé l'utilisateur sur le site. Cela ressemble à ce que vous allez faire. Pour ce faire, j'ai procédé comme suit:

  1. Création de plusieurs thèmes, y compris css et images (aucun fichier de skin n'a été utilisé). Vous pouvez utiliser des références relatives dans votre css pour afficher les images d’arrière-plan stockées dans votre dossier de thèmes.
  2. Création de ma propre classe de page qui remplace l'événement OnPreInit et définit Page.Theme sur le thème que je détermine qui doit être utilisé. Ceci est basé sur les cookies pour moi, mais peut être basé sur n'importe quel moyen permettant d'identifier l'utilisateur.
  3. Assurez-vous que toutes vos pages héritent de votre nouvelle classe de pages.

En utilisant les thèmes, vous pouvez facilement définir la source d’un contrôle Image ASP.NET différent pour chaque thème. (ainsi que les tailles si elles étaient différentes).

Vue d'ensemble des thèmes: http://msdn.microsoft.com/fr us / library / ykzx33wh.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top