Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Создание web-сайтов на платформе Asp.Net 2.0

Автор: DotSun
Источник: http://cms.xd24.ru/
9 ноября 2007 года

В данной статье дано краткое описание некоторых технологий, используемых при создании web-сайтов на платформе Asp.Net 2.0, таких как мастер страницы, создание серверных компонентов, использование xml и некоторых других. Один из разделов статьи посвящён использованию дополнительных средств разработки web-проектов, не входящих в состав MS Visual Studio 2005, таких как различные CMS и свободно распространяемые библиотеки компонентов.

Статья будет полезна в основном начинающим web-разработчикам и тем, кто имеет опыт web-программирования на других платформах, но по каким либо причинам решил перейти на Asp.Net 2.0.

Преимущества платформы

Перед началом работы с ASP.NET 2.0 будет полезно оглянуться назад и рассмотреть недостатки текущего поколения технологий Web разработки. Это поможет понять решение, предлагаемое .NET.

Со времени появления протокола HTTP его популярность возрастала экспоненциально, распространившись от небольшой группы учёных до персональных и производственных сегментов. Сегодня это почти бытовое слово.

После появления HTTP перед разработчиками открылась возможность проектирования приложений, способных взаимодействовать друг с другом. Для обеспечения этой возможности были созданы стандарты, подобные HTML и XML. HTML стал языком, описывающим способы отображения документов фактически на любой компьютерной платформе. XML - набор правил для разработки независимых от платформы форматов хранения данных, которые могут применяться различными приложениями для обмена информацией.

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

Одной из таких систем является Visual Studio 2005, относительно новый программный продукт от компании Microsoft, который можно использовать в процессе создания web-сайтов на платформе Asp.Net 2.0. Лицензия на данную систему стоит недёшево, однако убедить руководство вашей фирмы приобрести хотя бы одну копию вполне реально, особенно если деятельность компании каким либо образом связана с программированием.

Для разработки простых web-проектов на платформе Asp.Net 2.0. будет вполне достаточно обычного текстового редактора и некоторых базовых знаний языков программирования C# или VB и ASP (Active Server Pages).

Active Server Pages является совершенно новой моделью разработки. Данная технология web-программирования тесно связана со своей базовой структурой ASP.NET, не является расширением или модификацией среды .NET. По сути, ASP.NET стирает границы между разработкой обычных приложений и разработкой web-приложений, продвигая инструменты и технологии, ранее монополизированные разработчиками программного обеспечения для настольных систем, в мир web-проектов.

О библиотеке классов, доступной из ASP.NET 2.0

Среда .NET Framework содержит тщательно отобранную коллекцию функциональных частей с поразительным общим количеством - более 7000 различных классов. Перед программированием любого типа приложения .NET необходимо базовое понимание этих частей и того, почему они организованы именно таким образом.

Обширная коллекция функций, предлагаемая .NET Framework, организована таким способом, который традиционные программисты для Windows посчитают значительным улучшением. Каждый из тысяч классов в .NET Framework сгруппирован в логический иерархический контейнер под названием пространство имён. Различные пространства имен предоставляют различные свойства. В совокупности пространства имен .NET предлагают функции почти для каждого аспекта распределенной разработки - от организации очередей сообщений до, безопасности. Такой обширный набор инструментов называется библиотекой классов.

Почти все классы из стандартной библиотеки доступны для использования при создании Active Server Pages.

Краткое описание процесса создания web-сайта

Начинать создание web-сайта на платформе ASP.NET, как и любого другого ПО лучше всего с разработки проекта, который должен включать в себя детальное описание функциональности сайта, его архитектуру и примерный дизайн.

При разработке дизайна, лучше всего использовать Мастер страницы (Master Pages), которые, по сути, являются некоторыми шаблонами страниц сайта. Мастер страницы - одна из самых современных технологий web-программирования, используя их, Вы сможете легко поддерживать единый дизайн сайта. В случае необходимости изменить дизайн будет достаточно отредактировать Мастер страницы для разделов сайта, все остальные страницы, которых может быть несколько сотен или тысяч, изменять не придётся.

После создания Мастер страниц для разделов сайта, следует перейти к созданию обычных страниц. Категорически не рекомендуется хранить контент сайта внутри обычных ASP страниц, лучше использовать для этого XML - файлы или базу данных.

Приступая к реализации функциональности сайта, следует тщательно ознакомиться с классами стандартной библиотеки, особенно теми, которые могут быть полезны в каждом конкретном случае. Следуя данному совету, Вы можете существенно сократить время, затрачиваемое на программирование функциональности web-сайта.

Использование дополнительных средств

В случае если Вы хотите добавить к своему web-проекту некоторые стандартные функции, такие как, например, форум или гостевая, то вполне вероятно Вам имеет смысл использовать готовое решение, а не программировать все самому.

В последнее время в сети стало появляться большое количество ASP скриптов и различных библиотек классов для платформы Asp.Net 2.0, многие из которых распространяются бесплатно, или стоят существенно дешевле вашего времени, необходимого для реализации подобной функциональности самостоятельно.

Для ускорения процесса разработки web-проекта, можно взять за его основу, какую либо из свободно распространяемых или коммерческих CMS (Content Management Software иногда расшифровывается как Content Management System) под платформу Asp.Net 2.0.

В качестве одного из примеров свободно распространяемой CMS для платформы Asp.Net 2.0 можно привести проект простой и достаточно функциональной cms Kate (официальный сайт поддержки проекта http://cms.xd24.ru ). Данный проект, представляет собой реализацию ядра CMS и набора компонентов, производных от WebControl, скомпилированных в виде библиотеке cmsKate.dll и распространяемой свободно для некоммерческого использования.

Также в сети доступны многие другие библиотеки классов, предназначенные для решения различных задач:

  • SharpZipLib.dll - для обработки заархивированных с помощью алгоритма сжатия zip файлов и потоков
  • HtmlAgilityPack.dll - библиотека, предназначенная для эффектифной работы с Html форматированием. Позволяет легко осуществлять поиск различных тегов, читать и изменять их значения и атрибуты. Прекрасно работает с плохо форматированными html данными, имеющим ошибки в разметке.
  • edtFTPnet.dll - набор классов для работы с ftp, с помощью которых можно просматривать содержимое ftp серверов, загружать и удалять файлы, создавать и переименовывать каталоги, а также выполнять многие другие действия, предусмотренные протоколом ftp

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

Настраиваемые серверные элементы управления

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

  • Серверные элементы предоставляют полный контроль над генерируемым HTML кодом. Другими словами, вы можете создать такой элемент, как ASP.NET Button, который предлагает интерфейс единого объекта, но генерируется в сложную комбинацию элементов.
  • Серверные элементы управления имеют лучшую поддержку времени проектирования. Вы можете добавлять их в панель инструментов Visual Studio, устанавливать свойства и добавлять обработчики событий во время проектирования. Можно даже конфигурировать описание, которое Visual Studio будет показывать для каждого свойства, наряду со всеми прочими красотами времени проектирования.

Все Web-элементы управления ASP.NET являются серверными элементами управления. В этой части статьи вы узнаете о том, как можно построить свои собственные серверные элементы управления.

Серверные элементы управления - это классы .NET, унаследованные от System.Web.UI.WebControls. Класс WebControl представляет свойства и методы, общие для всех серверных элементов управления (такие как ID, ViewState и коллекция Controls) а также добавляет несколько свойств, помогающих реализовать стандартные стили. К этим свойствам относятся Font, ForeColor и BackColor.

Создавать серверные элементы управления следует в отдельном проекте библиотеки классов и компилировать проект в отдельную DLL сборку. Однако вы можете создавать настраиваемые элементы управления и помещать исходный код непосредственно в каталог App_Code. Если вы помещаете элементы управления в отдельную сборку, то получаете лучшую поддержку времени проектирования при использовании их на страницах, а также возможность повторно использовать эти элементы на страницах, написанных на разных языках.

Чтобы создать собственный настраиваемый элемент управления, вы должны унаследовать его от класса WebControl и переопределить метод

protected override void Render(HtmlTextWriter output)

Метод Render() получает объект HtmlTextWriter в качестве параметра. Данный объект используется для генерации HTML-кода элемента управления. Простейший подход состоит в вызове HtmlTextWriter.Write() для вывода строки HTML на страницу. Рассмотрим пример элемента управления, генерирующего простую кнопку.

namespace lib
{
  ///  <summary>
  ///  My button class
  ///  <</summary>
  [ToolboxData("<{0}:MyButton runat=server></{0}:MyButton>")]
  public class MyButton : System.Web.UI.WebControls.WebControl
  {
    protected override void Render(HtmlTextWriter output)
    {
      if(Page == null) return;
      output.Write("<input type=\"button\" value=\"my button\"/>");
    }
  }
}

Чтобы добавить созданный компонент к некоторой странице сайта, необходимо к этой .aspx странице добавить 2-й строкой следующею директиву:

<%@ Register  TagPrefix="lib" Namespace="lib" %>

после этого Вы сможете разместить свой компонент на этой странице. Для этого в любом месте .aspx файла добавьте следующий тэг:

<lib:MyButton  ID="MyBtn"  runat="server"  />

Откомпилируйте и загрузите выбранную страницу в браузер. Если вы увидете кнопочку с надписью my bytton, то это значит что компонент нормально работает. Если кнопка не появилась, проверьте всё ещё раз, возможно где то есть ошибка или опечатка.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
18K
10 июня 2006 года
QuaNtuM
3 / / 10.06.2006
+0 / -2
Мне нравитсяМне не нравится
1 марта 2008, 07:54:10
Статья так себе... Только вот осталось непонятно - знаком ли автор с другими средствами веб разработки. В статье укзаны только достоинства (да и то смутно), о недостатках не слова. А ведь недостатков больше, чем достоинств. Имею некоторый опыт с Ruby On Rails, и могу сказать что там веб разработка на порядок приятнее и эффективнее, чем в ASP, и горадо более подходит для новичка.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог