Der ehemalige Designer hier, drehte Dev, und ich pflegte auch über Web Controls zu jammern und zu pissen. Ehrlich gesagt ist es VIEL billiger für einen Designer, seine Praktiken anzupassen, als für einen .NET-Entwickler, sich mit einer benutzerdefinierten Implementierung einer GridView zu befassen, da der Designer darauf bestand, dass jeder TD ein rel-Tag (oder was auch immer) hat.
Wie Arseni Mourzenko mit Bedacht hervorhob, ist die Entscheidung für die Verwendung von Webforms eine Entscheidung des Unternehmens, die die Kontrolle über HTML einschränkt und gleichzeitig eine gewisse Effizienz bei der Codierung gewährleistet. Wenn das Unternehmen nicht bereit ist, erneut darüber nachzudenken (was es NICHT tun sollte, um den Designern zu gefallen), müssen die Designer diese Realität akzeptieren. Hier sind einige Dinge, die sie tun können:
1) Stoppen Sie je nach ID für etwas . Obwohl sich das zunächst falsch anfühlte, fand ich, dass das Leben tatsächlich viel einfacher war, als ich alles mit Klassen (und natürlich Vererbung) gestylt habe. Zuallererst hat es alle meine Selektorgewichte ausgeglichen. Bei der CSS-Vererbung übertrifft ID CLASS. Eigentlich war es ein bisschen schön, dass alles ein Kind und / oder eine Klassenauswahl war, und es war ein wenig einfacher, die Spezifitätsreihenfolge herauszufinden. Das Gleiche in der JS-Ebene, es bereitete mir NULL Mühe, meine ID-basierten Selektoren gegen klassenbasierte auszutauschen.
2) Unterrichten Sie sie, was RadioButtonLists und CheckboxLists konvertieren , zusammen mit Label = span, Panel = div und den anderen nicht offensichtlichen Control-to-HTML-Inhalten. Die Art und Weise, wie .NET diese in HTML rendert, war etwas seltsamer als erwartet, und es war für mich viel einfacher, Bildschirme zu erstellen, wenn ich wusste, wie HTML aus diesen Steuerelementen herauskommen würde.
3) Lassen Sie sie ihre Designer DIREKT IN ASPX ausführen , nicht in rohem HTML ( ! Wichtig ). Bringen Sie den Designern die Grundlagen von GridViews, ListViews usw. bei. Geben Sie ihnen einige Codefragmente, um eine anonyme Objektsammlung in ein Grid / ListView-Steuerelement zu verschieben. Wenn sie CSS lernen können, können sie lernen, diesen Code zu kopieren und einzufügen. Sie können die kostenlose Version von VS Web Express verwenden, die jetzt recht gut in CSS & JS funktioniert. Diese Dummy-Webprojekte geben den Designern die Möglichkeit, einige Steuerelemente einzugeben und anschließend die Quelle anzuzeigen, um zu sehen, wie sie gerendert werden.
4) Erläutern Sie, wie das FORM-Tag in .NET verwendet wird . Ich habe dies früher vergessen, aber der Designer muss sich auch daran gewöhnen, dass normalerweise ein einziges FORM-Tag die gesamte Seite umschließt. Dies ändert das Verhalten von Formularsteuerelementen, und Sie können FORM-Tags nicht ohne wirklich seltsame Nebenwirkungen verschachteln. Vergewissern Sie sich, dass die Designer dies verstehen, oder dass ihr Formular-HTML-Code ein Albtraum für WebForms ist.
5) Halten Sie sich von Themen und Haut fern . Obwohl das .NET-Framework über diese Tools verfügt, mit denen sich Steuerelemente in einer Anwendung einfacher gestalten lassen, sind sie für normale Webdesigner umständlich und seltsam, und ich habe nie festgestellt, dass sie meine Zeit wert sind. Sie scheinen ein gutes Werkzeug für Entwickler zu sein, die sich mit CSS nicht auskennen, aber die Designer nur verlangsamen. Lassen Sie die Designer in ihrer natürlichen Umgebung (HTML- und CSS-Dateien) arbeiten und sie werden zufriedener und produktiver.
6) Behalten Sie "Prototyp" -Projekte in Ihren Standortlösungen . Um sicherzustellen, dass die Entwickler immer ein Ziel haben, gegen das sie programmieren können, lassen Sie die Designer ein falsches Webprojekt in Ihrer realen Lösung erstellen, damit ihre ASPX-only-Seiten von den realen Entwicklern beibehalten und unberührt bleiben. Dies bedeutet, dass die Designer auf ihre Prototypen in derselben Lösung wie das eigentliche Projekt zurückblicken können, um zu überprüfen, wie die Entwickler vorgegangen sind, und die Entwickler können den Prototypen jederzeit ausführen, um sicherzustellen, dass ihre Arbeit den Absichten der Designer entspricht.
Widersetzen Sie sich abschließend allen Beschwerden, die eine Umstellung auf MVC erfordern, sofern Sie nicht bereit sind, Ihre Entwickler neu auszubilden. Ich persönlich liebe MVC, aber wenn Sie ein Team mit vielen WebForms-Kenntnissen haben, sollten Sie das nicht ohne Grund wegwerfen. Wenn Ihre Anwendungen ViewState-Probleme, SEO-Probleme oder Probleme mit der Barrierefreiheit haben, geben Sie MVC auf jeden Fall einen harten Blick. Das Trainieren von WebForms-Entwicklern in MVC dauert jedoch VIEL länger als das Trainieren von Designern in der Verwendung von Websteuerelementen.
Am Ende des Tages gab es KEIN DESIGN, DAS ICH ÜBERWINDET, das ich nicht persönlich in WebForms arbeiten konnte, selbst wenn ich eine Stunde lang bei diesem verdammten GridView geschworen hätte, bevor ich es herausgefunden hatte.
Gibt es Tools oder Anwendungen, mit denen die Designer die gerenderten (HTML-) Seiten der ASPX-Seiten bereitstellen können?
Vergiss den Ausdruck (es hat mir nie gefallen). Holen Sie sich die kostenlose Version von Visual Studio (Web Developer Express). Es kann sich in jede Versionsverwaltungslösung einbinden, die Sie haben, und die Designer können ihre ASPX-Seiten ausführen und den gerenderten HTML-Code in einem Browser anzeigen. Das CSS- und JS-Tool ist viel besser als früher, und es gibt einige großartige Tools, die in Erweiterungen wie Web Essentials integriert sind. 1-Klick-Transformation von CSS-Regeln in alle herstellerspezifischen Abweichungen, Farbwähler und Paletten direkt in der VS-Oberfläche, 1-Klick-Einbettung von Bildern in CSS-Dateien, "WENIGER" CSS-Transformationen (Sie können in CSS "codieren"), F12 "Navigieren zu" in JavaScript sowie echte Intelligenz und vieles mehr. Es ist jetzt eine Fundgrube für Designer, FYI,