Asp.Net thèmes MVC, comment?
J'ai un ASP.Net 2.0 site et veulent le traduire en paradigme MVC (je suis nouveau à cela), mais à partir de zéro.
J'ai quelques thèmes dans mon ancien site, mais en lisant ici et là, il semble que les thèmes ne correspondent pas bien au paradigme MVC.
La question Est:
Quelle est la meilleure pratique dans MVC pour construire un site personnalisable utilisateur à thème? Pouvez-vous donner un petit exemple, le cas échéant?
Note: je suis au courant de CE mais ils ne parlent pas du meilleur les pratiques ou la façon de démarrer avec.
4 réponses
Voici mon code que j'ai utilisé pour implémenter des "thèmes" dans ASP.NET MVC:
ASP.NET MVC: implémenter des dossiers de thème à l'aide D'un ViewEngine personnalisé
C'est bien quand vous pouvez simplement échanger des fichiers CSS pour changer le thème, mais ce n'est vraiment pas très pratique dans une tonne de cas. Surtout quand chaque thème doit avoir une mise en page complètement différente. Dans ce cas, vous devez changer le CSS et le HTML qui sont rendus, et c'est pourquoi j'ai écrit le code trouvé à le lien ci-dessus.
Un HTML propre et sémantiquement correct avec un bon CSS est le moyen de thématiser n'importe quelle application web, que ce soit ASP.NET, RoR, PHP, etc.
Le meilleur exemple de la puissance de CSS est CSS Zen Garden .
W3schools a une belle introduction / tutoriel à CSS .
Chacun de vos utilisateurs pourrait avoir une feuille de style associée qui serait sélectionnée chaque fois que applicable, c'est-à-dire:
<link rel="stylesheet" type="text/css" href="<%= Model.SelectedStyleSheet %>"/>
Comme les thèmes étaient destinés à styliser les balises, vous pouvez utiliser CSS pour créer une approche similaire. Je vous recommanderais probablement de commencer par copier vos thèmes par défaut vers des définitions css, par exemple
Html: <input type="button" />
CSS: entrée { couleur: Bleu clair}
Ensuite, pour tout ce qui avait votre thème non par défaut, vous pouvez simplement leur appliquer des classes. Il faut un certain temps pour réécrire tous vos thèmes en CSS, mais une fois cela fait, cela en vaut la peine.
Les thèmes JQuery-ui sont agréables et pas trop difficiles à implémenter.
Il suffit de créer un lien vers le fichier JS et css et n'oubliez pas les icônes. Et assurez-vous d'utiliser l'Url.Contenu() dans ces liens. Sinon, il pourrait ne pas être lié au chemin correct, une fois que vous le déployez sur un serveur de production (je suis tombé dans ce piège une fois).