Підручник із керування сеансами ASP.NET [Приклад]

Керування сеансами ASP.NET

Протокол HTTP, на якому працюють усі веб-програми, є протоколом без стану. Без громадянства це просто означає, що інформація не зберігається від одного запиту до іншого.

Наприклад, якщо у вас була сторінка входу, яка має 2 текстові поля: одне для імені, а інше для пароля. Коли ви натискаєте кнопку «Вхід» на цій сторінці, програмі потрібно переконатися, що ім’я користувача та пароль передаються на наступну сторінку.

В 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. Перший рядок коду приймає значення елемента керування текстовим полем імені та зберігає його в об’єкті сеансу. Вказуючи код Session[“Name”], ми надаємо властивості назву “Name”. Якщо вказати ім’я для властивості, стане легше отримати його пізніше.
  2. Наступний рядок коду отримує збережене значення з об’єкта Session. Потім він записує це значення через метод «Response.Write» назад до клієнта.
  3. Нарешті, ми робимо всі елементи керування на формі невидимими. Якщо ми цього не зробимо, усі елементи керування та наші значення відповідей відображатимуться разом.

Щойно ви внесете вищевказані зміни, ви побачите наступний результат

вихід:

Використовуйте об’єкт сеансу

З результату ви можете побачити, що значення сеансу name було отримано та відображено в браузері.

Підсумки

  • Управління сеансами – це вихід ASP.net щоб забезпечити передачу інформації з однієї сторінки на іншу.
  • Властивість view state сторінки використовується для автоматичної передачі інформації елементів керування з однієї сторінки на іншу.
  • Об’єкт «Сеанс» використовується для зберігання та отримання певних значень на веб-сторінці.