Я на самом деле очень рад, что некоторые мнения согласны с моим мнением: ASP.NET как язык шаблонов очень плохой.
Я просто хотел бы опровергнуть пару высказываний про (сделанных здесь!):
Дейв Уорд упоминает о столкновениях с удостоверениями личности - это правда, но я так плохо справился. Я бы предпочел видеть узлы, на которые ссылаются селекторы xpath или deep css, чем делать эффективный бесполезный идентификатор, кроме как путем откладывания до внутренних компонентов ASP.NET, таких как clientID - это просто делает бессмысленным написание CSS и JS.
Роб Купер говорит о том, что элементы управления являются заменой HTML, так что все в порядке (перефразируя, прости меня, Роб) - ну, это не хорошо, потому что они взяли существующий и хорошо понятный язык и сказали: «Нет, ты должен сделать все идет своим чередом », и их путь очень плохо реализован. например Панель asp: отображает таблицу в одном браузере и div в другом! Без документации или выполнения разметка для элемента управления входом в систему (и многих других) не предсказуема. Как вы собираетесь заставить дизайнера писать CSS против этого?
Espo пишет о том, как элементы управления дают вам преимущества абстракции, если платформа меняет html - ну, это явно циклично (это меняется только потому, что меняется платформа, и не нужно было бы, если бы у меня там был только мой собственный HTML) вместо этого) и на самом деле создает проблему. Если элемент управления изменится с обновлениями снова, как мой CSS должен справиться с этим?
Апологеты скажут «да, но вы можете изменить это в конфигурации» или расскажут о переопределении элементов управления и пользовательских элементов управления. Ну почему я должен? Пакет элементов управления css friendly, предназначенный для решения некоторых из этих проблем, не имеет ничего общего с несемантической разметкой и не решает проблему с идентификатором.
Невозможно реализовать MVC (абстрактную концепцию, а не реализацию 3.5) из коробки с приложениями веб-формы, потому что эти элементы управления настолько тесно связывают представление и управление. Теперь у традиционного веб-дизайнера есть барьер для входа, потому что он должен быть связан с серверным кодом для реализации того, что раньше было отдельными доменами CSS и JS. Я сочувствую этим людям.
Я полностью согласен с утверждением Киви о том, что элементы управления допускают очень быструю разработку приложений определенного профиля, и я согласен с тем, что по какой-то причине некоторые программисты считают HTML неприятным, а также преимущества других частей ASP.NET. дать вам, что требует этих элементов управления, может стоить цену.
Однако Я возмущен потерей контроля, я чувствую, что модель работы с такими вещами, как классы, стили и сценарии в коде, является неверным шагом назад, и я также чувствую, что есть лучшие модели для шаблонов (реализация микроформатов и xslt для этой платформы), хотя замена элементов управления на них нетривиальна.
Я думаю, что ASP.NET мог бы многому научиться у смежных технологий в мире LAMP и rails, до тех пор я надеюсь работать с 3.5 MVC, где смогу.
(извините, что так долго )