- •А.А. Волосевич
- •5.2. Веб-Приложение
- •5.3. Структура aspx-файла
- •1. Директивы страницы.
- •2. Серверные элементы управления и серверная форма.
- •5.4. Директивы страницы
- •5.5. Класс system.Web.Ui.Page
- •5.6. ЖИзненный цикл страницы
- •1. Подготовка страницы к выполнению
- •1.1. Событие PreInit
- •1.2. Событие Init
- •1.3. Событие InitComplete
- •1.4. Восстановление состояния представления
- •1.5. Обработка данных, принятых в результате возврата формы
- •1.6. Событие PreLoad
- •1.7. Событие Load
- •1.8. Обработка динамически созданных элементов управления
- •2. Обработка возврата формы
- •2.1. Обнаружение изменений в состоянии элементов управления
- •2.2. Обработка серверного события возврата формы
- •2.3. Событие LoadComplete
- •3.4. Генерирование разметки
- •3.5. Событие Unload
- •5.7. Общий обзор серверных элементов управления
- •5.8. Элементы управления html
- •5.9. Элементы управления web
- •5.10. Проверочные элементы управления
- •5.11. Эталонные страницы и темы
- •5.12. Некоторые приёмы работы со страницами
- •5.13. Связывание с данными
- •5.14. Списковые элементы управления
- •5.15. Элементы управления для Источников данных
- •5.16. Таблицы, связанные с данными
- •5.17. ОтоБражение отдельных записей
- •5.18. Конфигурирование веб-приложений
- •5.19. Инфраструктура обработки зАпроса
- •5.20. Веб-приложение и файл global.Asax
- •5.21. Модель поставщиков
- •5.22. Поддержка Сохранения Состояния
- •5.23. Кэширование в aSp.Net
- •5.24. Обеспечение безопасносТи в веб-приложениях
- •5.25. Управление членством и роЛями
- •5.26. Профили пользователя
- •5.27. Локализация и ресурсы
- •5.28. Пользовательские элементы управления
5.2. Веб-Приложение
Под веб-приложением будем понимать совокупность файлов и каталогов, размещенных в отдельном каталоге, которому сопоставлен виртуальный каталог веб-сервера. Рабочий процесс ASP.NET обслуживает каждое веб-приложение в отдельном домене, используя специфичные настройки приложения. Границей приложения является виртуальный каталог, в том смысле, что, перемещаясь по страницам внутри виртуального каталога, пользователь остаётся в рамках одного веб-приложения.
Любое веб-приложение может содержать следующие элементы:
1. Страницы ASP.NET: набор файлов с расширением .aspx ‑ файлы разметки страницы и, возможно, парные им файлы кода на каком-либо языке программирования (C#, VB.NET) – файлы Code Behind. Страницы ASP.NET могут размещаться как в корне веб-приложения, так и в подкаталогах.
2. Один или несколько файлов конфигурации web.config. Если веб-приложение содержит подкаталоги, то допускается не более одного файла web.config на подкаталог.
3. Пользовательские элементы управления – файлы с расширением .ascx и, возможно, парные им файлы Code Behind.
4. Некоторые из перечисленных в табл. 1 специальных подкаталогов.
Таблица 1
Специальные подкаталоги веб-приложения
Имя |
Что содержит |
Bin |
Скомпилированные сборки, необходимые для работы приложения |
App_Browsers |
Файлы с информацией о возможностях браузеров |
App_Code |
Файлы исходного кода классов (.csили.vb), которые будут использоваться страницами |
App_Data |
Файлы данных приложения. Это могут быть XML-файлы или файлы баз данных |
App_GlobalResources |
Глобальные для приложения файлы ресурсов (.resx) |
App_LocalResources |
Файлы ресурсов (.resx) для отдельных страниц |
App_Themes |
Определения поддерживаемых приложением тем |
App_WebReferences |
Файлы .wsdl, необходимые для связывания веб-сервисов с приложением |
5. Файлы эталонных страниц – файлы с расширением .master и, возможно, парные им файлы Code Behind.
6. Единственный файл global.asax, размещаемый в корневом каталоге приложения. Этот файл играет роль пункта реализации глобальных (для приложения) событий, объектов и переменных
7. Файлы любых других типов (*.html, *.xml, изображения и т. д.), возможно, размещенные в отдельных подкаталогах.
Будем рассматривать интегрированную среду Visual Studio 2008 как основное средство для создания веб-приложений. Использование VS 2008 обеспечивает следующие удобства:
Автоматическое создание некоторых необходимых элементов веб-приложения (подкаталогов) при выборе соответствующего типа проекта.
Возможность визуального редактирования страниц.
Возможности подсветки синтаксиса и IntelliSense.
Встроенный веб-сервер для запуска и отладки приложений.
5.3. Структура aspx-файла
Задачей параграфа является указание элементов, образующих файл разметки страницы .aspx. Напомним, что наряду с файлом разметки страницы, составной частью страницы является, как правило, и файл Code Behind.
Рассмотрим пример простой aspx-страницы.
<%-- 1. Директива страницы --%>
<%@ Page Language="C#" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="WebApp._Default" %>
<%-- 4. Блок серверного кода --%>
<script runat="server">
protected void btnSend_Click(object sender, EventArgs e)
{
tbxName.Text = tbxName.Text.ToUpper();
}
</script>
<%-- 3. Обычный HTML --%>
<html>
<body>
<%-- 5. Блок рендерного кода --%>
<% for (int i = 0; i < 10; i++) Response.Write("Hello"); %>
<form id="form1" runat="server">
<div>
Input name:
<%-- 2. Серверные элементы управления --%>
<asp:TextBox ID="tbxName" runat="server" />
<asp:Button ID="btnSend" runat="server"
OnClick="btnSend_Click" />
</div>
</form>
</body>
</html>
Выделим следующие элементы страницы.