Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
02.03.2016
Размер:
135.95 Кб
Скачать

2.Методи

Основні методи класу System.Web.UI.Page перераховані в наступній таблиці

Ім’я метода

Опис

DataBind()

Виконує зв'язування даних для всіх елементів управління на сторінці

FindControl()

Метод дозволяє знайти конкретний елемент управління на сторінці

LoadControl()

Динамічне завантаження елемента управління з файлу .ascx

MapPath()

Метод будує фізичний шлях для зазначеного елемента у Web-додатку

ResolveUrl()

Перетворює віртуальний URL в абсолютний URL

Validate()

Дає команду всім перевірочним елементам на сторінці виконати перевірку

Використання методів MapPath () і ResolveUrl () демонструє наступна проста сторінка:

<%@ Page Language="C#" %>

<script runat="server">

void Page_Load(object sender, EventArgs e) {

Label1.Text = this.MapPath("test.aspx");

Label2.Text = this.ResolveUrl("test.aspx");

}

</script>

<html>

<body>

<asp:Label ID="Label1" runat="server" /><br />

<asp:Label ID="Label2" runat="server" />

</body>

</html>

3.Події

Будь-яка aspx-сторінка має певний набір подій. Важливо знати, що це за події і в якій послідовності вони відбуваються. Це дозволить розробнику коректно створювати власні обробники подій сторінки.

Набір і послідовність подій сторінки залежать від наступного фактора: чи показується сторінка перший раз або сторінка відображається в циклі обміну з кліентом. Якщо сторінка відображається в перший раз, то відбуваються такі події (в описаній послідовності):

1.Init. Подія відбувається після того, як кожен керуючий елемент був створений і поміщений у внутрішню колекцію елементів управління сторінки.

2.Load. Встановлені задані в описі сторінки властивості елементів управління. Як правило, в обробнику події Load поміщається код, який виконує додаткову настройку властивостей елементів - наприклад, читає деякі властивості з бази даних. Для того щоб додаткова настройка проходила тільки один раз, зазвичай перевіряють значення властивості IsPostBack (if (! IsPostBack) ...).

3.PreRender. Кожен елемент управління готовий до виведення.

4.SaveVeiwState. Інформація про стан елементів управління серіалізується в закодований рядок і передається клієнтові.

5.Render. Подія відбувається перед виведенням сторінки клієнту.

6.Dispose. Сторінка та її елементи управління звільняються з пам'яті.

Якщо сторінка відображається не в перший раз, а в циклі обміну з клієнтом, то додатково відбуваються такі події:

1.Init.

2.LoadViewState. Інформація про стан завантажена у відповідні властивості керуючих елементів.

3.Load.

4.RaisePostDataChanged. В елементи управління була поміщена інформація, яка передана методом POST протоколу HTTP.

5.RaisePostBackEvent. Обробляються події, які привели до відправки інформації на сервер (такі, як натискання кнопки).

6.PreRender.

7.SaveVeiwState.

8.Render.

9.Dispose.

Клас System.Web.UI.Page дозволяє програмісту задати обробники таких подій: Init, Load, Unload (вся інформація сторінки відправлена клієнту), PreRender, Error (на сторінці виникло виняткова ситуація). При цьому призначення обробників може бути виконано двома способами. В режимі автоматичного зв'язування (директива @Page, атрибут AutoEventWireup = "true") для призначення обробника достатньо в блоці серверного коду записати метод зі спеціальним ім'ям у форматі Page_ <ім'я події>. Якщо режим автоматичного зв'язування вимкнений, то методи обробники зв'язуються з подіями в коді ініціалізації (конструкторі) із використанням відповідних делегатів.

Розглянемо приклад сторінки з обробниками. Використаємо автоматичне зв'язування. Розмітимо на сторінці поле введення і кнопку і реалізуємо деякі обробники:

<%@ Page Language="C#" AutoEventWireup="true" %>

<script runat="server">

void Page_Init(object sender, EventArgs e) {

TextBox1.Text = "Init...";

}

void Page_Load(object sender, EventArgs e) {

if (!IsPostBack) Response.Write("First Load");

else Response.Write("Second Load or more...");

}

</script>

<html>

<body>

<form id="Form1" runat="server">

<asp:TextBox ID="TextBox1" runat="server" />

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

</form>

</body>

</html>

Сторінка після першого завантаження показана на малюнку нижче

А після натискання на кнопку так:

Соседние файлы в папке веб-програмування - 1