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.

31
demandé sur Community 2009-04-21 00:07:31

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.

26
répondu Chris Pietschmann 2009-04-21 23:52:17

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 %>"/>
20
répondu Mauricio Scheffer 2010-01-08 17:12:19

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.

2
répondu Joe Swan 2009-04-21 08:31:16

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).

1
répondu Morph 2009-04-20 20:54:26