понедельник, 25 января 2010 г.

С чего начать и куда двигаться

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

ASP.NET предназначена для разработки многоуровневых веб приложений, прежде всего ориентированных на бизнес, однако ничто не мешает вам использовать ее в других областях прикладного веб программирования. Отличительной чертой является схожесть в программированием локальных приложений, т.е страница имеет форму, на которую можно добавлять как html элементы, так и специальные элементы управления(для удобства дальше будем называть их контролы, от слова controls). Благодаря архитектуре ASP.NET любой элемент управления, контрол, представлен в виде объекта, имеющего свои поля, методы и свойства. Это очень облегчает разработку и жизнь программиста. Программную логику приложения можно писать на таких языках, как C#.NET и VB.NET, позволяющих использовать все преимущества дот нета.

Основной и самой популярной средой разработки является Microsoft Visual Studio, в наличии имеется уже версия 2010 Beta2, имеющая лицензию Go Live, позволяющую разрабатывать коммерческие продукты на данной бетаверсии. Кроме того есть 2008 версия, а так же бесплатный инструмент Visual Web Developer, имеющий весь функционал полных версий сред разработки.

Для начала познакомимся с Visual Studio.

Загрузить ее можно по ссылкам:
http://www.microsoft.com/downloads/details.aspx?FamilyID=752CB725-969B-4732-A383-ED5740F02E93&displaylang=en
http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx

Есть три основных типа проекта ASP.NET:
  1. ASP.NET WebSite. Создается пустой сайт.
  2. ASP.NET Web Forms Application. Отличается от сайта более удобной структурой, например создание общих ссылок на сборки.
  3. ASP.NET MVC. Model,View,Controller, тип проектов, получивший широкое распространение в различных технологиях, предназначенный для разграничения таких частей проекта, как внешний вид, механизмы обработки данных, и механизмы связывания данных и внешнего вида.
Мы начнем наш обзор с ASP.NET Web Application. Итак, создадим новый проект: File->New->Project.

Как показано на изображении, в появившемся окне выбирете нужный тип проекта, укажите его название и место размещения. При создании ASP.NET Web Site можно сразу же размещать его на веб сервере IIS, что довольно удобно. Однако Visual Studio имеет свой веб сервер, предназначенный для разработчика, что не менее удобно. И нажмем кнопку Ok для завершения создания проекта. Кроме того при создании проекта, в окне, изображенном на рисунке можно выбрать нужную вам верию .NET.

Основы работы в Visual Studio.

Итак, после создания проекта вы видите несколько рабочих областей:
  1. Окно редактирования разметки, кода, а также отображения примерного внешнего вида страницы.
  2. Solution Explorer - структура проекта.
  3. Properties - свойства указанного файла, или элемента страницы(открывается F4, или нажатием на соответствующую иконку:
  4. Вкладка Error List, находится в левом нижнем углу, отображает ошибки и предупреждения.
В данной среде разработки есть еще очень много полезных окон, удобство заключается в том, что окна можно перетаскивать и группировать так как вам надо.

Откройте файл Default.aspx - страница по умолчанию. Она имеет два режима отображения - разметка и дизайн, переключение с помощью кнопок Design, Source, Split внизу окна. Кроме того есть файл програмного кода, разверните узел дерева в Solution Explorer напротив Default.aspx и откройте файл Default.aspx.cs.
Здесь мы видим частичный класс(partial class) и обработчик события Page_Load - загрузка страницы. Вернувшись к разметке страницы, отметим, что первая строчка отвечает за свойства страницы, например указан файл кода(CodeBehind):
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="FirstStepsInASPdotNET._Default" %>
Сюда же можно устанавливать и другие свойства, попробуйте сами: поставьте курсор перед "
%>" и нажмите пробел, Intellisence покажет вам возможные варианты, о них поговорим более подробно позже, в дальнейших постах.
Разметка страницы имеет почти стандартный html вид, однако есть тег form, со странным атрибутом runat="server". Этот атрибут необходимо указывать у всех контролов, возможно и html, с которыми вы хотите напрямую взаимодействовать в коде.

Немного практики.

Давайте создадим простенькую страничку ASP.NET. Для показания графических возможностей давайте переключимся в режим дизайнера и напечатаем: "Введите ваше имя:" Дальше слева откроем вкладку Tools(она содержит всевозможные контролы, распределенные по группам). В узле Standart кликнем два раза(или перетащим в нужное нам место) на контрол TextBox. Выделим появившееся текстовое поле на странице, и посмотрим на окно Properties, в котором отображаются все свойства данного контрола. Поменяем например ID на "txtSomeField", вы можете самостоятельно поменять различные свойства, для получения полной документации обратитесь в MSDN. Итак. Дальше подобным образом добавьте на страницу кнопку(button) и зададим свойство Text="Hello". Каждый контрол имеет свои события, и у каждого есть основное событие. Для просмотра событий выделенного контрола на вкладке Properties нажмите на иконку с молнией. Для создания обработчика события кликните два раза напротив названия события, а для создания основного события можете просто два раза кликнуть по контролу. Сделаем событие OnClick для созданной нами кнопки. В коде страницы в обработчике события напишем следующий код:
protected void Button1_Click(object sender, EventArgs e)
{
txtSomeField.ForeColor =System.Drawing.Color.BurlyWood;
txtSomeField.Text = "Hello "+txtSomeField.Text;
}

Мы поменяли цвет шрифта и текст в текстовом поле. Запустим наш проект: F5 -режим отладки, абсолютно такой же как и в других типах проектов(можно идти по шагам[F10,F11], ставить брейки и, даже идти назад[Shift+F11]), Ctrl+F5 - без режима отладки. Запускается встроенный в Visual Studio веб сервер для разработчика, и....страница появилась. Теперь введите свое имя и нажмите кнопку, чтобы убедится в правильности наших действий.


Вот вы и сделали первый шаг в ASP.NET, нам еще многому предстоит научиться. В следующем посте проанализируем получившийся html код полученной страницы и посмотрим что такое MasterPage. Успехов вам в изучении программирования и совершенствования своих навыков.