Учебное пособие по управлению сеансами ASP.NET [Пример]

Управление сеансами ASP.NET

Протокол HTTP, по которому работают все веб-приложения, является протоколом без сохранения состояния. Под отсутствием гражданства это просто означает, что информация не сохраняется от одного запроса к другому.

Например, если у вас есть страница входа в систему с двумя текстовыми полями: одно для имени, а другое для пароля. Когда вы нажимаете кнопку «Войти» на этой странице, приложению необходимо убедиться, что имя пользователя и пароль передаются на следующую страницу.

В ASP.Net это делается разными способами. Первый способ — через концепцию ViewState. Здесь ASP.Net автоматически сохраняет содержимое всех элементов управления. Это также гарантирует, что это будет передано на следующую страницу. Это делается с помощью свойства ViewState.

Разработчику не рекомендуется ничего менять в состоянии просмотра. Это связано с тем, что он должен обрабатываться только ASP.Net.

Объект сеанса ASP.NET

Другой способ — использовать объект, называемый «Объект сеанса». Объект Session доступен на протяжении всего жизненного цикла приложения. В объекте Session можно хранить любое количество пар ключ-значение. Таким образом, на любой странице вы можете сохранить значение в объекте Session с помощью приведенной ниже строки кода.

Session["Key"]=value

При этом значение сохраняется в объекте сеанса, а часть «ключ» используется для присвоения значению имени. Это позволяет получить значение позднее. Чтобы получить значение, вы можете просто выполнить приведенный ниже оператор.

Session["Key"]

Пример объекта сеанса ASP.NET

В нашем примере мы собираемся использовать объект Session для хранения имени, введенного в поле текстового поля имени на странице. Затем мы собираемся получить это значение и соответствующим образом отобразить его на странице. Давайте добавим приведенный ниже код в файл Demo.aspx.cs.

Используйте объект сеанса

protected void btnSubmit_Click(object sender,EventArgs e)
{
	Session["Name"] = txtName.Text;

	Response.Write(Session["Name"]);

	lblName.Visible = false; 
	txtName.Visible = false; 
	1stLocation.Visible = false;
	chkC.Visible = false; 
	chkASP.Visible = false; 
	rdMale.Visible = false;
	rdFemale.Visible = false;
	btnSubmit.Visible = false;
}

Объяснение кода: -

  1. Первая строка кода принимает значение элемента управления текстовым полем Name и сохраняет его в объекте Session. Указывая код Session[“Name”] , мы даем свойству имя «Name». Указав имя свойства, его будет проще получить в более поздний момент времени.
  2. Следующая строка кода извлекает сохраненное значение из объекта Session. Затем он записывает это значение обратно клиенту с помощью метода Response.Write.
  3. Наконец, мы делаем все элементы управления формы невидимыми. Если мы этого не сделаем, все элементы управления плюс наши значения ответа будут отображаться вместе.

После внесения вышеуказанных изменений вы увидите следующий вывод

Вывод:

Используйте объект сеанса

Из выходных данных вы можете видеть, что значение имени сеанса было получено и отображено в браузере.

Резюме

  • Управление сеансами – это способ ASP.net чтобы обеспечить передачу информации с одной страницы на другую.
  • Свойство состояния просмотра страницы используется для автоматической передачи информации об элементах управления с одной страницы на другую.
  • Объект «Сессия» используется для хранения и получения определенных значений на веб-странице.