L'ancien designer ici, devenu Dev, et moi aussi, je pissais et gémissais sur les contrôles Web. Honnêtement, il est BEAUCOUP moins cher pour un concepteur d'ajuster ses pratiques que pour un développeur .NET de se plonger dans une impelmentation personnalisée d'un GridView parce que le concepteur a INSISTE que chaque TD ait une balise `` rel '' (ou autre).
Comme Arseni Mourzenko l'a très judicieusement souligné, la décision d'utiliser Webforms est un choix de l'entreprise qui limite une partie du contrôle sur le HTML tout en accordant des gains d'efficacité dans le codage. À moins que l'entreprise ne soit prête à reconsidérer (ce qu'elle ne devrait PAS faire uniquement pour faire plaisir aux concepteurs), les concepteurs doivent accepter cette réalité. Voici quelques choses qu'ils peuvent faire:
1) Arrêtez de dépendre de l'ID pour quoi que ce soit . Même si cela semblait mal au début, j'ai trouvé que la vie était en fait beaucoup plus facile quand je stylisais tout avec des classes (et l'héritage, bien sûr). Tout d'abord, il a égalisé tous mes poids de sélecteur. Dans l'héritage CSS, l'ID l'emporte sur CLASS. C'était en fait assez agréable d'avoir tout un enfant et / ou un sélecteur de classe, et cela a rendu la détermination de l'ordre de spécificité un peu plus simple. Même chose dans la couche JS, cela m'a donné ZERO douleur pour échanger mes sélecteurs basés sur ID pour ceux basés sur la classe.
2) Apprenez-leur à convertir les listes RadioButtonLists et CheckboxLists , ainsi que Label = span, Panel = div et les autres éléments non évidents de contrôle en HTML. La façon dont .NET les rend au format HTML était un peu plus étrange que ce à quoi je m'attendais, et il m'a été beaucoup plus facile de créer des écrans lorsque je savais comment le HTML sortirait de ces contrôles.
3) Demandez-leur de faire leurs concepteurs EN ASPX DIRECTEMENT , pas en HTML brut ( ! Important ). Apprenez aux concepteurs les bases de GridViews, ListViews, etc. Donnez-leur des extraits de code pour pousser une collection d'objets anonymes dans un contrôle Grid / ListView. S'ils peuvent apprendre CSS, ils peuvent apprendre à copier-coller ce code. Ils peuvent utiliser la version gratuite de VS Web Express, qui est assez bonne pour le travail CSS & JS maintenant. Ces projets Web factices donneront aux concepteurs une chance d'entrer dans certains contrôles, puis de visualiser la source pour voir comment ils sont rendus.
4) Expliquez comment la balise FORM est utilisée dans .NET . J'ai oublié celui-ci plus tôt, mais une autre chose à laquelle le concepteur doit s'habituer est qu'en général, une seule balise FORM enveloppe la page entière. Cela modifie le comportement des contrôles de formulaire et vous ne pouvez pas imbriquer les balises FORM sans effets secondaires vraiment étranges. Assurez-vous que les concepteurs comprennent cela, sinon leur formulaire HTML sera un cauchemar à transformer en WebForms.
5) Éloignez-vous des thèmes et de la peau . Même si le framework .NET dispose de ces outils pour aider à contrôler les contrôles dans une application, ils sont maladroits et étranges pour les concepteurs Web normaux, et je ne les ai jamais trouvés valant mon temps. Ils semblent être un bon outil pour les développeurs qui ne connaissent pas bien le CSS, mais ne feront que ralentir les concepteurs. Laissez les concepteurs travailler dans leur environnement naturel (fichiers html et css) et ils seront plus heureux et plus productifs.
6) Conservez les projets «prototypes» dans les solutions de votre site . Pour vous assurer que les développeurs ont toujours une cible contre laquelle coder, demandez aux concepteurs de créer un faux projet Web dans votre vraie solution pour garder leurs pages ASPX uniquement préservées et intactes par les vrais développeurs. Cela signifie que les concepteurs peuvent regarder leurs prototypes dans la même solution que le vrai projet pour vérifier comment les développeurs l'ont fait, et les développeurs peuvent exécuter le prototype à tout moment pour s'assurer que leur travail correspond à l'intention des concepteurs.
Enfin, résistez à toutes les plaintes pour convertir en MVC, à moins que vous ne soyez prêt à recycler vos développeurs. J'aime personnellement MVC, mais si vous avez une équipe avec une tonne de connaissances WebForms, ne jetez pas cela sans raison. Si vos applications rencontrent des problèmes ViewState, des problèmes de référencement ou des problèmes d'accessibilité, alors jetez absolument un œil à MVC. Mais il faudra BEAUCOUP plus de temps pour former les développeurs WebForms sur MVC que pour former les concepteurs à l'utilisation des contrôles Web.
À la fin de la journée, il n'y avait PAS DE DESIGN I CAME ACROSS, que je ne pouvais pas personnellement faire travailler dans WebForms, même si je finissais par jurer sur ce sacré GridView pendant une heure avant de le comprendre.
Existe-t-il des outils ou des applications pour fournir aux concepteurs le rendu (page html) des pages .aspx?
Oubliez l'expression (je ne l'ai jamais aimé). Obtenez-leur la version gratuite de Visual Studio (Web Developer Express). Il peut se connecter à n'importe quelle solution de contrôle de source que vous avez, et il permettra aux concepteurs d'exécuter leurs pages ASPX et de voir le HTML rendu dans un navigateur. Les outils CSS et JS sont bien meilleurs qu'auparavant, et il existe des outils impressionnants intégrés dans des extensions comme Web Essentials. Transformation en un clic des règles CSS en toutes leurs déviations spécifiques au fournisseur, sélecteurs de couleurs et palettes directement dans l'interface VS, intégration en un clic d'images dans des fichiers CSS, moins de transformations CSS (vous pouvez `` coder '' en CSS), F12 'Navigate To' sur JavaScript, plus une véritable intelligence, et bien plus encore. C'est un trésor pour les concepteurs maintenant, pour info,