О СПОСОБАХ РЕАЛИЗАЦИИ VIEWSTATE В ЯЗЫКЕ ПРОГРАММИРОВАНИЯ C# |
Автор: Широков Р.Д., Гильмутдинов В.Я., Тазетдинов Б.И. |
01.06.2020 05:00 |
О СПОСОБАХ
РЕАЛИЗАЦИИ VIEWSTATE В ЯЗЫКЕ ПРОГРАММИРОВАНИЯ C# Широков Р.Д., Гильмутдинов
В.Я., Тазетдинов Б.И. БФ БашГУ, г. Бирск, РБ В клиент-серверных приложениях возникает необходимость хранения данных как на стороне сервера, так и на стороне клиента. Одним из таких способов является состояние представления ViewState. Подобно большинству опций для управления состоянием в ASP.NET, в основе состояния представления лежит словарная коллекция, в которой каждый элемент индексируется с помощью уникального строкового имени. У ViewState'а есть индексатор, который принимает строку как ключ и любой объект как значение. Например, взгляните на следующий фрагмент кода[1]: ViewState["Example1"]
= 123.45M; // сохраняем decimal ViewState["Example2"] =
"abc"; // сохраняем string ViewState["Example3"] = DateTime.Now; // сохраняемDateTime Этот код помещает в коллекцию ViewState значение 1 (точнее, целое число, которое содержит значение 1) и присваивает ему описательное имя Counter. Если в коллекции ViewState в текущий момент нет элемента с именем Counter, он будет добавлен в нее автоматически. Если элемент с таким именем уже существует, он будет заменен [1]. Для извлечения значения используется имя ключа. Извлеченное значение также должно быть приведено к соответствующему типу данных. Этот дополнительный шаг является обязательным, потому что в коллекции ViewState все элементы относятся к базовому типу Object, который позволяет хранить в ней данные любого типа [1]. Ниже показан код, который извлекает значение Counter и преобразует его в целое число[1]: decimal.Example1; if (ViewState[“Example1”]!=null)
Example1=(decimal)ViewState[“Example1”]; Генерации исключения NullReferenceException возникает при попытке отыскать значение, отсутствующее в коллекции. В состоянии представления можно сохранять как собственные объекты, так и другие типы данных. ASP.NET позволяет преобразовать элементы в поток байтов, чтобы его можно было добавить в скрытое поле страницы(сериализация)[1,2]. Также ASP.NET позволяет отслеживать изменения объектов хранимых с помощью коллекции ViewState это реализуется с помощью Trace. Которая позволяет выборочно отключать объекты “трасировки”[1,2]. Таким образом,
состояние представления можно использовать как при обучении (это связано с
простотой ее реализации), так и при написании крупных проектов в частности
многостраничных сайтов, web-приложений. 1.
Электронный
ресурс professorweb.ru. [сайт]: https://professorweb.ru/my/ASP_NET/base/level5/5_1.php 2.
Microsoft
ASP.NET 3.5 с примерами на C# 2008 и Silverlight 2 для профессионалов [текст] /
Мэтью Мак-Дональд, Марио Шпушта ; [пер. с англ. Я. П. Волковой, Д. Я. Иваненко,
Н. А. Мухина]. - 3-е изд. - Москва [и др.] : Вильямс, 2009. - 1403 с. : ил. + 1
эл. опт.диск (CD-ROM). - (TheExpert'svoicein NET) (Профессионалам от
профессионалов). - Предм. указ.: с. 1397-1403.
- ISBN 978-5-8459-1543-6 : Б. ц. |
Обновлено 08.12.2020 10:36 |