Учебники

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

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

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

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

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

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

Секция [ «ключ»] = значение

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

Секция [ «ключ»]

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

ASP.Net - Введение, программа «Жизненный цикл и Hello World»

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 - Введение, программа «Жизненный цикл и Hello World»

Из вывода видно, что значение Session name было получено и отображено в браузере.

Резюме:

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