Элегантный семантический CSS с ASP.Net все еще остается несбыточной мечтой?
Вопрос
Я знаю, что Microsoft приложила усилия в направлении семантического и кроссбраузерного XHTML и CSS, совместимых с XHTML, но это все еще кажется простой попыткой создать элегантную разметку.Я скачал и настроил адаптеры, дружественные к CSS, и все такое.Но я все еще испытываю разочарование из-за раздутого и непривлекательного кода.
Элегантный семантический CSS с ASP.Net все еще остается несбыточной мечтой?Или это, наконец, возможно, мне просто нужно больше практики?
Решение
Самый простой способ сгенерировать элегантный HTML и CSS - это использовать MVC framework, где у вас гораздо больше контроля над генерацией HTML, чем с помощью веб-форм.
Другие советы
Видишь этот вопрос для дальнейшего обсуждения, включая использование MVC.Этот сайт использует ASP.NET, и разметка довольно чистая.Ознакомьтесь с HTML / CSS на MicrosoftPDC.com (сайте, над которым я работаю) - он использует ASP.NET веб-формы, но мы разрабатываем с чистой разметкой в качестве приоритета.
Пока вы используете Visual Studio designer, это, вероятно, несбыточная мечта.Я пишу весь свой ASP.NET код (всю разметку и CSS) вручную, просто чтобы избежать участия дизайнера.В более поздних версиях Visual Studio стало намного лучше не искажать ваши файлы .aspx /.ascx, но они все еще далеки от совершенства.
Лучший вопрос заключается в следующем:действительно ли это того стоит?Я пишу веб-приложения, и элегантность результирующего HTML / CSS / JavaScript редко что-то добавляет к конечной цели.Если ваша конечная цель - заставить людей "просмотреть исходный код" вашего материала и восхищаться им, то, возможно, это важно и стоит всех усилий, но я в этом сомневаюсь.
Если вам нужна семантика, используйте XML для ваших данных.Я действительно верю в идею семантическая паутина, но мои приложения не должны иметь к этому никакого отношения.
Как сказал ДэнниСмерф, наращивание рук - это правильный путь.
Тем не менее, вы могли бы взглянуть на Expression Web.По крайней мере, он довольно точен в том, как он отображает страницы.
@JasonBunting - Да, это того стоит.Семантическая и кроссбраузерная разметка означает, что поисковым системам проще (и, следовательно, выше рейтинг) работать с вашим контентом, браузерам проще (и, следовательно, менее подверженным ошибкам) анализировать ваш контент для отображения, а будущим разработчикам легче поддерживать ваш код.
Да, это несбыточная мечта.После работы с профессиональным веб-дизайнером над совместным проектом, которому НЕ понравились элементы управления ASP.net на стороне сервера, я перестал их использовать.По сути, мне пришлось писать ASP.net приложения, подобные тем, которые вы бы написали для современного приложения на PHP.Если у вас тяжелый бизнес-уровень, то ваша страница или код пользовательского интерфейса могут быть минимальными.
С тех пор я ни разу не оглядывался назад.Дополнительное время, потраченное на написание всего пользовательского, сэкономило мне много времени, пытаясь заставить Visual Studio / ASP.net хорошо работать с CSS / XHTML.
я не могу поверить, что никто не упомянул css-адаптеры.многие из распространенных элементов управления, используемых в asp.net (например, gridview и treeview), могут быть обработаны с помощью адаптера для изменения результирующего HTML-кода, который выводится в браузер.
если переход по маршруту mvc не является жизнеспособным вариантом, можно написать свои собственные адаптеры для любого из встроенных элементов управления asp.net.