
- •Начальное руководство по разработкеweb-приложений и asp.Net.
- •Разработка web-приложений и asp.Net
- •Web-приложения и web-серверы
- •Что такое виртуальные каталоги?
- •Структура документа html
- •Форматирование текста средствами html
- •Заголовки html
- •Html-редактор Visual Studio.Net
- •Разработка форм html
- •Создаем пользовательский интерфейс
- •Добавление изображений
- •Клиентские скрипты
- •Пример клиентского скрипта
- •Реализация проверки введенных пользователем данных
- •Передаем данные формы (методы geTиPost)
- •Синтаксис строки запроса http
- •Создание классической страницы asp
- •Принимаем данные, переданные методом post
- •Первое приложение asp.Net
- •Некоторые проблемы классических asp
- •Некоторые преимущества asp.Net
- •Пространства имен asp.Net
- •Наиболее важные типы пространства имен System.Web
- •Приложение и сеанс подключения пользователя
- •Создание простого web-приложения на с#
- •Исходный файл *.Aspx
- •Файл web.Config
- •Исходный файл Global.Asax
- •Простой код asp.Net на с#
- •Архитектура web-приложения asp.Net
- •Тип System.Web.Ui.Page
- •Связка *.Aspx/Codebehind
- •Свойство Page. Request
- •Свойство Page.Response
- •Свойство Page.Application
- •Отладка и трассировка приложений asp.Net
- •Элементы управления WebForm
- •Создание элементов управления WebForm
- •Иерархия классов элементов управления WebForm
- •Виды элементов управления WebForm
- •Базовые элементы управления WebForm
- •Группа переключателей
- •Текстовое поле для ввода нескольких строк с полосой прокрутки
- •Элементы управления с дополнительными возможности
- •Элемент управления Calendar
- •Элемент управления AdRotator (баннерная рулетка)
- •Элемент управления для работы с источниками данных
- •Элемент управления DataGrid
- •Еще немного об источниках данных
- •Элементы управления для проверки вводимых пользователем данных
- •Обработка событий элементов управления WebForm
- •Подведение итогов
- •Web-cлужбы
Свойство Page.Application
Свойство Application класса Page обеспечивает доступ к объекту класса HttpApplicationState. Как уже говорилось выше, HttpApplicationState предоставляет разработчикам возможность управления информацией, общей для всех сеансов подключения к приложению ASP.NET. Некоторые наиболее важные свойства HttpApplicationState представлены в табл. 14.9.
Таблица 14.9. Свойства типа HttpApplicationState
Свойство |
Описание |
AIIKeys |
Возвращает набор всех объектов, относящихся к состоянию приложения |
Count |
Позволяет получить количество объектов в наборе, относящихся к состоянию приложения |
Keys |
Возвращает объект NameObjectCollectionBase. KeysCollection, используемый для хранения всех ключей состояния приложения объекта NameObjectCollectionBase |
StaticObjects |
Позволяет получить доступ ко всем объектам, объявленным в теге<х runat=server> </x> в файле приложения ASP.NET |
При создании переменной, которая будет доступна из всех сеансов подключения, необходимо использовать пару имя — значение (например, firstUser = "chuck"), а затем добавить ее во внутреннюю коллекцию KeysCollection. Для этого можно использовать индексатор класса:
public class WebForml : System.Web.UI.Page
{
protected void Page_Load(object sender.EventArgs e)
{
if (UsPostBack)
{
// Создаем переменную уровня всего приложения
Application["AppString"] = "Initial App Value";
}
}
...
}
Если нам затем потребуется обратиться к этому значению, просто извлечем его при помощи того же свойства:
string appVar = "App: " + App1ication["AppString"];
Код приложений WebForml.aspx и WebForml.aspx.cs можно найти в подкаталоге Chapter 14.
Отладка и трассировка приложений asp.Net
Если вам приходилось работать с Visual InterDev, то вы, наверное, помните, что отлаживать приложения в нем было не очень удобно. ASP.NET выигрывает и в этом отношении: при создании проектов ASP.NET мы можем использовать те же самые средства отладки, что и для любых других проектов Visual Studio.NET. Например, мы можем устанавливать брейкпойнты в скриптовых блоках (или в файлах С#), запускать сеансы отладки, производить пошаговое выполнение и т. п. (рис. 14.34).
Рис. 14.34. Установка брейкпойнтов
Кроме того, мы можем осуществлять трассировку файлов *.aspx просто путем добавления атрибута trace в открывающий скриптовый блок:
<%<? Page Language="c#" Codebehind="WebForml.aspx.cs" AutoEventWireup="False" Inherits="FirstWebApplication.WebForral" trace="true"
В результате в конец возвращаемого клиенту файла HTML будет добавлена информация трассировки (рис. 14.35).
Мы можем добавлять и свои собственные данные трассировки. Для этого используется класс Trace. Каждый раз, когда нам нужно добавить свое собственное сообщение трассировки, мы просто используем метод Write этого класса:
Рис. 14.35. Получение информации трассировки
Рис. 14.36. Пользовательское сообщение трассировки
Наше пользовательское сообщение трассировки представлено на рис. 14.36.
Мы уже достаточно много узнали про запросы HTTP и создание кода HTML в ответ на эти запросы. Однако мы еще ничего не сказали про элементы графического интерфейса, которые можно использовать как для приема данных от пользователя, так и для возврата ему информации в ответ на его запрос, хотя здесь ASP.NET предлагает нам еще большее количество новых и очень привлекательных возможностей.