[ Полезный рекламный блок ]
Попробуйте свои силы в игре, где ваши навыки программирования на C# станут решающим фактором. Переходите по ссылке 🔰.
Для збереження даних є такі варіанти:
- адресний рядок (URL);
- куки (cookies);
Куки зберігаються на клієнтській стороні. У цьому їхня перевага – якщо робота з даними йде на клієнтській стороні, то не потрібно передавати дані на сервер. У цьому й недолік – клієнт може легко знайти збережені дані та підмінити їх. Не варто зберігати в куках паролі та іншу конфіденційну інформацію.
- приховані поля (hidden fields);
Приховані поля використовувалися в класичному ASP для зберігання даних користувача. Так само можна використовувати їх і в ASP.NET. Потрібно розуміти, що приховані поля зберігаються в самій сторінці, а отже, по-перше, легко доступні користувачеві, а по-друге, великий обсяг даних обтяжує сторінку та збільшує обсяг даних, що передаються між клієнтом і сервером. Не варто класти всередину сторінки великі обсяги даних. Не варто зберігати в прихованих полях паролі та секретну інформацію.
- стан сторінки (ViewState);
Стан сторінки (ViewState) по суті є тим самим прихованим полем, тому до нього відноситься все те, що я перерахував раніше.
- сесія (Session);
Сесія (Session) дає змогу зберігати дані користувача на той час, поки
користувач працює із сервером. Доступ до даних здійснюється за допомогою індексатора Session[ім’я].
- додаток (Application).
Додаток (Application) дає змогу зберігати дані, спільні для всіх сесій, наприклад, лічильник відвідувачів сайту. Доступ до даних програми
здійснюється за допомогою індексатора Application[ім’я].
Крім того, будь-яка змінна, описана як static, зберігатиметься в області даних додатка, а отже, буде спільною для всіх користувачів
сайту. Враховуйте це під час розроблення додатків.
Кожен з перерахованих варіантів має свої сильні та слабкі сторони
і під час вибору потрібно чітко розуміти їхні відмінності та в яких випадках який із
варіантів краще.
Зчитувати дані з параметрів сторінки можна за допомогою властивостей QueryString і PathInfo.