Разработка web- приложений и ASP.NET
Web-приложения и web- серверы Web-приложение это набор взаимосвязанных файлов (*.htm, *.asp, *,aspx, файлов изображений и т.п.), а также связанных с ними компонентов (двоичных файлов.NET или классического СОМ), которые размещены на web- сервере. Web-сервер это программный продукт, на котором размещаются web-приложения и который обычно обеспечивает набор связанных с web-приложениями служб, таких как интегрированные средства обеспечения безопасности, поддержка протокола FTP, поддержка средств передачи электронной почты и т.п. Web-сервер от Microsoft называется Internet Information Server (IIS).
Установка IIS В Панели управления выберем Add/Remove Programs (Добавить/Удалить программы) и найдем пункт Add/Remove Windows Components (Добавить/Удалить компоненты Windows). В Панели управления выберем Администрирование и найдем пункт Internet Information Services
Документ HTML Для создания документа HTML откроем интегрированную среду разработки Visual Studio.NET и в меню File выберем New->File… -> HTML Page. Сохраним созданный файл в нашем физическом каталоге как default.htm.
Untitled Page
Редактирование документа HTML при помощи средств.NET HTML страница The Cars Login Page
Разработка форм HTML Форма HTML это именованная группа элементов пользовательского интерфейса HTML, используемых для ввода пользователем данных. Затем эти данные передаются на web-сервер по протоколу HTTP
Интерфейс пользователя HTML страница The Cars Login Page Please enter your user name and password User Name: Password:
Добавление изображений
Клиентские скрипты //
Реализация проверки введенных данных // …
// … Today is: // Метод document.write - часть объектной модели IE document.write(GetTheDate());
Передача данных с формы (методы GET и POST) Синтаксис строки запроса HTTP: txtUserName=Chucky&txtPassword=somepassword& btnSubmit=Submit
Классические страницы ASP Страницу ASP можно воспринимать как набор из кода HTML и скриптов, предназначенных для выполнения на сервере. Можно сказать, что основной смысл ASP заключается в генерации кода HTML «налету» при помощи серверных скриптов. You said: User Name: Password:
А можно и так: You said: User Name: Password: При передаче запроса методом POST: You said: User Name: Password:
Проблемы классических ASP: в них используются языки скриптов; в них код HTML смешан с кодом скриптов; из проекта в проект приходится переносить одни и те же повторяющиеся блоки кода скриптов. Некоторые преимущества ASP.NET: ASP.NET 1.x предлагает модель, основанную на использовании внешнего кода, и позволяющую отделить логику представления от логики реализации; Страницы ASP.NET 1.х представляют собой скомпилированные компоновочные блоки.NET, а не интерпретируемые строки языка, сценариев, которые обрабатываются значительно медленнее; WEB-элементы управления позволяют программисту строить Web- приложения с графическим интерфейсом. Web-элементы ASP.NET автоматически обновляют своё состояние при вторичных запросах, для чего используется скрытое поле формы, имеющее имя _VIEWSTATE. Web-приложения ASP.NET являются полностью объектно-ориентированными и используют CTS (Common Type System). Web-приложения ASP.NET легко конфигурировать с помощью стандартных, средств IIS или с помощью файла конфигурации Web-приложения (web.config). ASP.NET 2.0 поставляется с большим набором новых Web-элементов. В ASP.NET 2.0 поддерживаются шаблоны страниц, которые позволяют создать общий шаблон интерфейса для множества связанных страниц. В ASP.NET 2.0 поддерживаются темы, которые предлагают декларативный метод изменения внешнего вида всего Web-приложения. В ASP.NET 2.0 поддерживаются Web-части, которые могут использоваться для того, чтобы конечный пользователь мог настроить внешний вид Web- страницы.
Пространства имен ASP.NET 2.0 В библиотеках базовых классов.NET 2.0 предлагается не менее 34 пространств имен, имеющих отношение к Web. Базовые функциональные возможности (типы, обеспечивающие взаимодействие с HTTP-запросами и HTTP-ответами, инфраструктура Web-форм, поддержка тем и профилирования. Web-части и т.д.) Web-формы и HTML-элементы Web-разработка для мобильных платформ Web-сервисы XML
Создание простого web- приложения на С# Файлы решения Visual Studio.NET (*.sln и *.suo) будут помещены в каталог C:\Documents and Settings\Irina\Мои документы\Visual Studio 2008\Projects\WebSite2.
Untitled Page I am: You are:
using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // Добавляем пользовательский код для инициализации страницы }
Тип System.Web.UI.Page Application - Возвращает объект HttpApplicationState Cache - Возвращает объект Cache, в котором хранятся данные приложения, частью которого является эта страница IsPostBack - Возвращает значение, определяющее, была ли эта страница загружена клиентом в первый раз или она загружена повторно в ответ на переданные клиентом данные Request - Возвращает объект HttpRequest, используемый для получения информации о входящем запросе HТТР Response - Возвращает объект HttpResponse, при помощи которого можно скомпоновать данные, возвращаемые браузеру клиента Server - Возвращает объект HttpServerUtility Session - Возвращает объект System.Web.SessionState, при помощи которого можно получить информации о текущем сеансе подключения.
События класса Page Init - Это событие происходит, когда страница инициализируется. Это первое событие жизненного цикла страницы Load - Это событие происходит после события Init. Обработчик этого события можно использовать для настройки любых элементов управления WebForm. Unload - Происходит при выгрузке объекта из памяти. Можно использовать, к примеру, для освобождения ресурсов
Связка *.aspx/CodeFile public class WebForml : System.Web.UI.Page{ public string GetDateTime(){ return DateTime.Now.ToString(); } Обратиться к этой функции из файла *.aspx можно так:
Связка *.aspx/CodeFile Можно и так: public class WebForm1:System.Web.UI.Page { public void GetDateTime() { Response.Write(It is now " + DateTime.Now.ToString()); } А затем просто вызывать эту функцию:
Отладка и трассировка приложений ASP.NET Средства отладки, что и для любых других проектов Visual Studio.NET;
Добавление элементов управления WebForm System.Web.UI.WebControls Добавление элемента Web: Добавление события: protected void Calendarl_SelectionChanged (object sender, System, EventArgs e) { Response.Write( " Your car will be delivered on: +Calendar1.SelectedDate.Date+" "); }