Какие шаги можно предпринять для создания семантического, доступного, совместимого со стандартами вывода на стороне клиента с помощью ASP.NET Webforms? - PullRequest
3 голосов
/ 21 июля 2010

Я понимаю, что может быть невозможно отделить клиентскую часть от серверного кода в ASP.NET Webforms. Какие шаги можно предпринять для создания веб-сайта на этой основе, соответствующего веб-стандартам?

Я особенно обеспокоен тем, чтобы сделать сайт доступным с отключенным JavaScript и совместимым с WCAG2 на уровне соответствия AA.

Можно ли достичь разделения между контентом (HTML), презентацией (CSS) и поведением (JavaScript)?

Ответы [ 4 ]

2 голосов
/ 22 июля 2010

Это возможно, но это не так просто в ASP.Net WebForms:

  1. Новые версии ASP.Net более соответствуют стандартам, чем старые. Итак, используйте новейшую версию ASP.Net. В ASP.Net 4 есть несколько приятных функций, позволяющих сделать разметку HTML чище (подробнее см. сообщение в блоге )
  2. Если вы все еще не удовлетворены кодом, сгенерированным некоторыми стандартными элементами управления, поищите их сторонние эквиваленты. Есть хорошие шансы, что вы найдете открытые или коммерческие элементы управления, генерирующие намного более чистый код, чем стандартные.
  3. Если вы все еще недовольны некоторыми сторонними элементами управления, напишите свои собственные элементы управления и заполните их красивым чистым кодом, совместимым со стандартом.
1 голос
/ 31 июля 2010

Если MVC или .NET4 не являются опциями, взгляните на CSS-дружественные адаптеры управления.

http://cssfriendly.codeplex.com/

1 голос
/ 27 июля 2010

Вы можете наследовать и переопределять метод Render, но для более сложных элементов управления вы, вероятно, не захотите использовать время, когда существуют лучшие альтернативы.

0 голосов
/ 27 июля 2010

Если вы не особо склонны к ASP.NET, вы также можете попробовать ASP.NET MVC.MVC имеет много общего с ASP.NET.Но самое приятное то, что вы имеете полный контроль над выводом HTML, отображаемым в браузере.

Если у вас нет возможности выбрать MVC, и вас не устраивает вывод по умолчанию серверного серверного элемента управления ASP.NET, вы можете переопределить метод Render серверного серверного элемента управления ASP.NET.См. Отображение серверного серверного элемента управления ASP.NET .

Вы также можете переопределить вывод дочерних элементов управления, если он является составным элементом управления, таким как DataGrid.

Надеюсь, это поможет.

...