Architecture Net

       

Время существования страниц с Web-формами


Чтобы четко представить и глубоко понять архитектуру Web-форм, мы рассмотрим, что происходит во время существования простого приложения HelloCodeBehind, реализованного на C++. В этом приложении используется предварительно скомпилированный файл HelloCodebehind. aspx, который содержит фоновый код. Исходный код файла написан на C++. Если используется другой язык, тогда компилировать файл не нужно. Достаточно лишь иметь файл с исходным фоновым кодом. То, что происходит во время существования Web-формы, которая использует предварительно скомпилированный фоновый код, можно описать следующим образом.
1. Приложение запрашивает WеЬ-страницу HelloCodebehind. aspx посредством броузера.
2. Среда выполнения ASP NET создает класс Page (Страница), производный от класса реализованного в предварительно скомпилированной сборке В этом классе объединены визхальные элементы, которые содержатся в aspx-файле, и код, содержащийся в предварительно скомпилированной сборке Затем класс компи-лирхется и выполняется Резхльтатом выполнения является HTML-страница, которая отсылается Web-броузеру Чтобы увидеть HTML-код в броузере Internet Explorer в меню View (Вид) выберите команду Source (В виде HTML) Проделав это, вы \бедитесь что э шменты управления сервера заменены обычным HTML-кодом Он приведен ниже
3. Броузер интерпретирует HTML-код и отображает простую форму (рис. 10.7) Чтобы отличить этот пример от аналогичного ему первого примера этой главы, фраза "YOUR NAME" (' ВАШЕ ИМЯ') отображается прописными (заглавными, большими) буквами Поскольку форма отображается впервые, текстовое поле еще не зшолнено и отсутствует приветствие
4. Потьзователь вводит свое имя например Peter и щелкает на кнопке Echo (Эхо) Броузер распознает, что была нажата кнопка Submit (Отослать) Форма использует метод post ("отправить почтовое сообщение") и выполняет действие "HelloCodebehind aspx" Таким образом, мы отправили в первоначальный aspx-фаил 'почтовое сообщение с уведомлением"
5. Теперь сервер обрабатывает страницу В этот раз событие было инициировано щелчком пользователя на кнопке Echo (Эхо) Дальше вызывается обработчик события из класса MyWebPage




Рис. 10.7. Форма приложения Echo (Эхо) отображается впервые

6. Для считывания имени, введенного пользоватепем, применяется свойство Text (Текст) элемента управления сервера txtName (тип TextBox (Текстовое поле)) Далее формируется строка с приветствием, которая затем присваивается этемент> управления lolGreeting (тип Label (Надпись)) При этом снова испотьзуется нотация для свойства
7. Сервер снова генерирует стандартный HTML-код для элементов управления сервера и отсылает полный ответ броузеру Ниже приведен окончательный HTML-код

<fcrm rame="ctrlO" method="post" action="HelloCodebehind.aspx" id="ctrl()">
< i-- действие "nelloCodebehind Qspx" идентификатор - "ctrl()" -->
<input type="hidden" narae="_VIEWSTATE"
value="dDw2MkzODE3NTtOPDtsPGk8M]47P . . +0z4+0z4=" />
YOUR NAME:&nbsp;
<input name="txtName" type="text" value="Peter" id="txtName" />
<p>
<input type="subnu t" name="cmdEcho" value="Echo" id="cmdEcho" title="Click to echo your name">
<-/p>
<ьрап id="lblGreeting">
Hello, Peter. Welcome to Managed C++ ASP.NET
</span> <P></P> </form>

8. Броузер воспроизводит страницу (рис. 10.8.) На этот раз отображается также и приветствие

CompEbook.ru Железо, дизайн, обучение и другие


Содержание раздела