Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
69_Web.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.03 Mб
Скачать

5.1.2 Використання файлів cookie|

Файли cookie застосовуються для зберігання невеликих порцій даних на комп'ютері клієнта. Web-сайти часто звертаються до файлів cookie для зберігання особистих параметрів і іншої інформації клієнтів. Оскільки клієнт може відмовитися від cookie, перед спробою запису cookie важливо переконатися, що це дозволено браузером. Наступний код перевіряє, чи вирішує браузер запис cookie, і якщо так, зберігає особисті параметри користувача.

private void Page_Load(object sender, System.EventArgs e)

{

// Цей код виконується при першому відображенні сторінки

if(!IsPostBack)

// Якщо браузер підтримує файли cookie...

if(Request.Browser.Cookies)

{

//...створити cookie|...

HttpCookiecookUPrefs = new HttpCookie("UPrefs");

cookUPrefs.Value = "English";

//...і додати у відгук.

Response.Cookies.Add(cookUPrefs);

}

}

Наступний код перевіряє наявність файлу cookie, і якщо перевірка успішна, отримує його.

private void Page_Load(object sender, System.EventArgs e)

{

//Цей код виконується при першому відображенні сторінки.

if(!IsPostBack)

// Якщо браузер підтримує файли cookie...

if(Request.Browser.Cookies)

// ... перевірити, чи існує cookie UPrefs.

if (Request.Cookies["UPrefs"] != null)

// Зберегти значення cookie|.

Session["Lang"]= Request.Cookies["UPrefs"].Value;

}

5.1.3. Використання стану відображення

Властивість ViewSiate служить для зберігання даних в прихованих полях сторінки. Оскільки ViewState зберігає дані в сторінці, цей спосіб годиться лише для тих елементів, які можна серіалізувати. Для збереження в ViewState складніших елементів їх доведеться спочатку перетворити в рядок, а після витягання — повернути в початковий вигляд.

Наступний код витягує текст з текстового поля і поміщає його в елементи таблиці, розташованій на сторінці. Оскільки не можна зберігати об'єкти безпосередньо у властивості ViewState, процедура Button1_Click спочатку зберігає отримані рядки в ViewSiateпотім процедура Page_Load створює на основі збережених текстових рядків елементи управління, складові таблиці.

private void Button1_Click(object sender, System.EventArgs e)

{

// Записати текст в ViewState.

ViewState.Add(ViewState.Count.ToString(), TextBox1.Text);

}

private void Psge_Load(object sender, System. EventArgs e)

{

if (IsPostBack)

// Для кожного елементу ViewState

foreach(StateItem staItem in ViewState|Values)

{

TableRow rowNew = new TableRow();

TableCell|celNew = new Таblecell();

// Записати текст в осередок.

celNew.Text = staItem.Value.ToString():

// Додати осередок в рядок.

rowNew.Cells.Add(celNew);

// Додати рядок в таблицю.

Table1.Rows.Add(rowNew);

}

}

ASP.NET кодує приховані сторінкові дані, тому користувач не зможе прочитати їх з початкового тексту сторінки. Якщо, скориставшись попереднім кодом, додати декілька елементів в таблицю, а після вибрати в меню браузера елемент View\View Source, приховані поля виглядатимуть приблизно так:

</HEAD>

<body MS_POSITIONING="GridLayout">

<form name="Form1" method="post" action="WebForm1.aspx" id="Form1">

<input type="hidden" name=" VIEWSTATE" value="test" />

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]