Бывший дизайнер здесь превратился в Dev, и я тоже писался и стонал о веб-элементах управления. Честно говоря, дизайнеру гораздо проще настроить свои методы, чем разработчику .NET вникать в пользовательскую реализацию GridView, потому что дизайнер УСТАРЕЛ, что у каждого TD есть тег rel (или что-то еще).
Как очень мудро отметил Арсений Мурзенко, решение использовать Webforms - это выбор компании, который ограничивает часть контроля над HTML, одновременно обеспечивая некоторую эффективность в кодировании. Если компания не захочет пересмотреть (что они НЕ должны делать, чтобы угодить дизайнерам), тогда дизайнеры должны принять эту реальность. Вот несколько вещей, которые они могут сделать:
1) Стоп в зависимости от идентификаторов для чего-либо . Несмотря на то, что это поначалу казалось неправильным, я обнаружил, что жизнь стала намного проще, когда я все стилизовал с помощью классов (и, конечно, наследования). Прежде всего, это выровняло все мои веса селектора. В наследовании CSS ID превосходит CLASS. На самом деле было очень приятно иметь все в качестве дочернего и / или селекторного класса, и это немного упрощало определение порядка специфичности. То же самое в слое JS, это дало мне ноль боли, чтобы поменять мои селекторы на основе идентификаторов на селекторы на основе классов.
2) Научите их, во что преобразуются RadioButtonLists и CheckboxLists , вместе с Label = span, Panel = div и другими неочевидными элементами управления в html. То, как .NET отображает их в HTML, оказалось немного страннее, чем я ожидал, и мне было гораздо проще создавать экраны, когда я знал, как HTML выйдет из этих элементов управления.
3) Сделайте так, чтобы их дизайнеры НАПРАВЛЯЛИ НАПРЯМУЮ , а не на сырой HTML ( ! Важно ). Научите дизайнеров основам GridViews, ListViews и т. Д. Дайте им несколько фрагментов кода, чтобы вставить анонимную коллекцию объектов в элемент управления Grid / ListView. Если они могут изучать CSS, то они могут научиться копировать и вставлять этот код. Они могут использовать бесплатную версию VS Web Express, которая неплохо работает в CSS и JS. Эти фиктивные веб-проекты дадут дизайнерам возможность ввести некоторые элементы управления, а затем просмотреть исходный код, чтобы увидеть, как они отображаются.
4) Объясните, как тег FORM используется в .NET . Ранее об этом забыли, но дизайнер должен привыкнуть к тому, что обычно один тег FORM оборачивает всю страницу. Это изменяет поведение элементов управления, и вы не можете вкладывать теги FORM без действительно странных побочных эффектов. Убедитесь, что дизайнеры понимают это, иначе HTML-форма станет кошмаром для превращения в WebForms.
5) Держитесь подальше от тем и кожи . Несмотря на то, что .NET Framework имеет эти инструменты, помогающие стилизовать элементы управления в приложении, они неуклюжи и странны для обычных веб-дизайнеров, и я никогда не находил их достойными своего времени. Они кажутся хорошим инструментом для разработчиков, которые плохо разбираются в CSS, но только замедляют работу дизайнеров. Пусть дизайнеры работают в своей естественной среде (файлы html и css), и они будут счастливее и продуктивнее.
6) Храните «прототип» проектов на вашем сайте . Чтобы убедиться, что у разработчиков всегда есть цель для кода, попросите дизайнеров создать фальшивый веб-проект в вашем реальном решении, чтобы настоящие разработчики сохраняли и не затрагивали свои страницы только для ASPX. Это означает, что дизайнеры могут оглянуться на свои прототипы в том же решении, что и настоящий проект, чтобы проверить, как разработчики сделали, и разработчики могут запустить прототип в любое время, чтобы убедиться, что их работа соответствует замыслу дизайнеров.
Наконец, воздержитесь от любых жалоб на конвертацию в MVC, если вы не готовы переподготовить своих разработчиков. Я лично люблю MVC, но если у вас есть команда с огромным количеством знаний WebForms, не выбрасывайте это без причины. Если в ваших приложениях возникают проблемы ViewState, SEO или проблемы с доступностью, то вам стоит просто взглянуть на MVC. Но для обучения разработчиков WebForms в MVC потребуется гораздо больше времени, чем для обучения дизайнеров использованию веб-элементов управления.
В конце концов, не было НИКАКОГО ДИЗАЙНА, КОТОРОГО Я ПРИШЕЛ ПО СВОЕМУ, что я не мог лично сделать работу в WebForms, даже если бы я закончил ругаться с этим проклятым GridView в течение часа, прежде чем понять это.
Существуют ли какие-либо инструменты или приложения, чтобы предоставить дизайнерам визуализированные (html-страницы) страницы .aspx?
Забудь о выражении (мне это никогда не нравилось). Получите им бесплатную версию Visual Studio (Web Developer Express). Он может подключиться к любому решению управления исходным кодом, которое у вас есть, и позволит дизайнерам запускать свои ASPX-страницы и видеть отображаемый HTML в браузере. Инструменты CSS и JS намного лучше, чем раньше, и есть несколько замечательных инструментов, встроенных в такие расширения, как Web Essentials. Преобразование CSS-правил в один клик во все их отклонения, характерные для разных поставщиков, палитры цветов и палитры прямо в интерфейсе VS, встраивание изображений в INS-файлы в один клик, CSS-преобразования «LESS» (вы можете «кодировать» в CSS), F12 «Навигация к» на JavaScript, плюс реальная интеллигентность и многое другое. Это сокровище для дизайнеров, FYI,