застосування стану виду (ViewState). Його доцільно використовувати в тому випадку, коли необхідно організувати зберігання даних в межах однієї сторінки. Всі елементи управління використовують стан виду за замовчуванням для збереження значень властивостей між операціями зворотного відсилання даних. Тут же можливо організувати зберігання своїх власних даних, що складаються з простих типів і спеціальних об'єктів. p align="justify"> Стан виду організовано за принципом колекції, яка, у свою чергу, має тип словника. Це означає, що дані зберігаються у форматі "ім'я-значення". Кожен елемент при цьому індексується за допомогою унікального строкового імені. Наступний приклад додає в колекцію ViewState елемент з ім'ям Name і присвоює йому значення "Іван": ["Name"] = "Іван";
При цьому, якщо в колекції до цього не існувало елемента з ім'ям Name, то він додається, якщо ж такий елемент був, його значення замінюється новим.
Для вилучення елемента з колекції необхідно використовувати ім'я елемента. Крім того, т. к. колекція ViewState дозволяє зберігати не тільки дані, що складаються з простих типів, а й спеціальні об'єкти (у загальному випадку - будь-які об'єкти), під час вилучення значення елемента необхідно перетворити його тип до того, який буде вилучатись. Наступний приклад дозволяє витягти значення елемента Name і перетворити його в рядок:
string name; (ViewState ["Name"]! = null)
name = (string) ViewState ["Name"];
Перевірка на наявність елемента колекції необхідна, оскільки при зверненні до неіснуючого елементу колекції виникає виняток NullReferenceException.
Як приклад створимо можливість збереження значень, введених в текстові поля попереднього прикладу.
Для демонстрації використання ViewState створимо приклад, в якому після натискання на кнопку "Відправити" дані текстових полів зберігаються в змозі виду, а поля очищаються. Після натискання на кнопку "Відновити значення полів введення" збережені значення полів зчитуються зі стану виду і поміщаються в текстові поля. Даний приклад необхідний тільки для демонстрації використання колекції ViewState. p align="justify"> Для початку помістимо на сторінці HTML-елемент "Таблиця", який являє собою опис звичайної таблиці, і розмістимо в її осередках вже існуючі елементи Label і TextBox. Крім того, додамо на сторінку кнопку. Привласнимо знову доданої кнопці наступні параметри: ID = btn_RestoreTextBox, Text = "Відновити значення полів введення". p> Отримана внаслідок сторінка в режимі редагування дизайну повинна виглядати таким чином ( рис. 1. <# "132" src = "doc_zip3.jpg"/>
Рис. 1.1. Web-сторінка прикладу в режимі дизайну
Внесемо у вихідний код сторінки виправлення відповідно до рис. 1.1 <# "150" src = "doc_zip4.jpg"/>
Рис. 1.2. Вихідний ...