Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Обработка серверных событий элементов управления HTML.



ServerClick HtmlAnchor, HtmlButton,HtmlInputButton, HtmlInputSubmit, HtmlInputReset, HtmlInputImage
ServerChange HtmlInputText,HtmlInputCheckBox, HtmlInputRadioButton, HtmlInputHidden, HtmlInputSelect, HtmlInputTextArea

ASP .NET поддерживает 3 вида событий.

· События, которые происходят в браузере клиента и обрабатываются кодом на Javascript.

· События загрузки страницы.

· События элементов управления.

 

 

Модель событий:

IsPostBack – это

1. Перешли по адресу сайта. Это GET запрос. Сейчас IsPostBack = false.

2. На загрузившейся страничке нажали какую-нибудь кнопку (input, button). На сервер посылается POST запрос c данными всех элементов упарвления. Сейчас IsPostBack = true. А этот запрос и называется PostBack.

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

Пример:

private void Page_Load(){ if (!IsPostBack) { // Валидация не выполняется при первоначальном запросе страницы. Validate(); }}

 


 

17. ASP.NET: web-форма, структура и жизненный цикл web-формы, основные события web-формы, состояние (viewstate) web-формы, автоматическая обратная отправка данных.

 

Web-форма: часть web-приложения

Web-форма: интерпретируется сервером; результат интерпретации: html и js-код.

Жизненный цикл:

1)Инициализация структуры страницы

На этом этапе ASP.NET создает страницу. Генерируются все элементы управления, определенные в дескрипторах внутри веб-страницы .aspx. Более того, если страница запрашивается не впервые (иначе говоря, если это обратная отправка), ASP.NET десериализирует информацию о состоянии представления и применяет ее ко всем элементам управления. На этом этапе запускается событие Page.Init.

2) Инициализация кода пользователя

На этом этапе запускается событие Page.Load. Большинство веб-страниц обрабатывают это событие для выполнения любой необходимой инициализации, подобной заполнению динамических текстовых полей или конфигурирования элементов управления.

Событие Page.Load запускается всегда, независимо от того, запрашивается страница впервые или же как часть обратной отправки. К счастью, ASP.NET позволяет программистам различать события первой загрузки страницы и все последующие загрузки. Определить текущее состояние страницы можно, проверив ее свойство IsPostBack, которое при первом запросе страницы будет иметь значение false.

3) Обработка событий

На этом этапе страница является уже полностью загруженной и проверенной. Поэтому ASP.NET запускает все события, которые успели произойти с момента последней обратной отправки данных. В целом события ASP.NET бывают двух типов:

События, требующие немедленного ответа. К числу таких событий относится щелчок на кнопке отправки формы (Submit) или на какой-то другой кнопке, области изображения или ссылке в многофункциональном веб-элементе управления, который инициирует обратную отправку данных вызовом JavaScript-функции __doPostBack().

События изменения. К числу таких событий относится изменение выбора в элементе управления или текста в текстовом поле. Эти события запускаются для веб-элементов управления немедленно, если свойство AutoPostBack установлено в true. В противном случае они запускаются при следующей обратной отправке страницы.

4) Очистка

В конце своего жизненного цикла страница преобразуется в HTML-разметку. После этого начинается реальная очистка и запускается событие Page.Unload. В этот момент объекты страницы все еще доступны, но окончательная HTML-разметка уже сгенерирована и не может быть изменена.

Вспомните, что у .NET Framework имеется служба сборки мусора, периодически запускаемая для освобождения памяти, занятой объектами, на которые уже нет ссылок. Неуправляемые ресурсы должны освобождаться явно на этапе очистки или, что лучше, перед ним. Когда сборщик мусора уничтожает страницу, запускается событие Page.Disposed. На этом жизненный цикл веб-страницы завершен.

 

Autopostback – автоматическая отправка состояния элемента управления на сервер.

Состояние серверных компонентов хранится прямо на странице в скрытом поле ViewState.

Можно отключить ViewState на уровне страницы, поставив в теге Page атрибут EnableViewState="false". Тогда скрытое поле ViewState вообще исчезнет со страницы, а все контролы перестанут хранить данные о своем состоянии.

Viewstate делает следующее:

 Сохраняет данные элементов управления по ключу, как хэш-таблица

 Отслеживает изменения состояния серверных компонент

 Сериализирует и десериализирует сохраненные данные в скрытое поле на клиенте

 Автоматически восстанавливает данные на postback'ах

Web.config — это файл, определяющий параметры для ASP.NET web-приложения. По сути, файл web.config — это XML-документ. В нем хранится информация о параметрах поставщиков состояний сеансов, членства, определяются ссылки на страницы ошибок. Также web.config содержит строки соединения с базами данных, средства управления трассировкой.

 

<asp:Button ID="Button1" runat="server" Text="Button" />

Обратите внимание на атрибут runat="server". Он означает то же, что и для формы: элемент управления, для которого использован такой атрибут, становится доступным из программного кода в файле codebehind, а на события этого элемента управления реагирует сервер. Если этот атрибут убрать (а также, возможно, избавиться от атрибутов, которые допустимы только для серверных элементов управления), элемент управления станет обычным элементом управления HTML.

 

18. ASP.NET: публикация ASP.NET-приложения, структура и параметры узла IIS, реальный и виртуальный каталоги, процедура настройки web-узла.

 

 

8.

   

 


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


Поделиться:



Последнее изменение этой страницы: 2019-04-19; Просмотров: 185; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.016 с.)
Главная | Случайная страница | Обратная связь