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