Tutorial de gestionare a sesiunii ASP.NET [Exemplu]

Managementul sesiunii ASP.NET

Protocolul HTTP pe care funcționează toate aplicațiile web este un protocol fără stat. Prin apatrid, înseamnă doar că informațiile nu sunt reținute de la o cerere la alta.

De exemplu, dacă ați avut o pagină de conectare care are 2 casete text, una pentru nume și cealaltă pentru parolă. Când faceți clic pe butonul Conectare de pe pagina respectivă, aplicația trebuie să se asigure că numele de utilizator și parola sunt transmise pe pagina următoare.

În ASP.Net, acest lucru se face într-o varietate de moduri. Prima cale este prin intermediul unui concept numit ViewState. Acesta este locul în care ASP.Net stochează automat conținutul tuturor controalelor. De asemenea, se asigură că acest lucru este transmis pe pagina următoare. Acest lucru se face printr-o proprietate numită ViewState.

Nu este ideal ca un dezvoltator să schimbe ceva în starea de vizualizare. Acest lucru se datorează faptului că ar trebui să fie gestionat numai de ASP.Net.

Obiect de sesiune ASP.NET

Cealaltă modalitate este să utilizați un obiect numit „Obiect de sesiune”. Obiectul Session este disponibil pe tot parcursul ciclului de viață al aplicației. Puteți stoca orice număr de perechi cheie-valoare în obiectul Session. Deci, pe orice pagină, puteți stoca o valoare în obiectul Session prin linia de cod de mai jos.

Session["Key"]=value

Aceasta stochează valoarea într-un obiect Session și partea „cheie” este folosită pentru a da un nume valorii. Acest lucru permite ca valoarea să fie preluată la un moment ulterior în timp. Pentru a prelua o valoare, puteți pur și simplu să emiteți declarația de mai jos.

Session["Key"]

Obiect de sesiune ASP.NET Exemplu

În exemplul nostru, vom folosi obiectul Session pentru a stoca numele introdus în câmpul caseta de text cu nume din pagină. Apoi vom prelua acea valoare și o vom afișa pe pagină în consecință. Să adăugăm codul de mai jos în fișierul Demo.aspx.cs.

Utilizați obiectul sesiune

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;
}

Explicația codului: -

  1. Prima linie de cod ia valoarea casetei de text Nume și o stochează în obiectul Session. Prin specificarea codului Session[„Nume”] , dăm proprietății un nume numit „Nume”. Prin specificarea unui nume pentru proprietate, devine mai ușor să îl regăsiți la un moment ulterior în timp.
  2. Următoarea linie de cod preia valoarea stocată din obiectul Session. Apoi scrie această valoare prin metoda „Response.Write” înapoi către client.
  3. În cele din urmă, facem ca toate controalele din formular să fie invizibile. Dacă nu facem acest lucru, toate controalele plus valorile noastre de răspuns vor fi afișate împreună.

Odată ce faceți modificările de mai sus, veți vedea următoarea ieșire

ieșire:

Utilizați obiectul sesiune

Din rezultat, puteți vedea că valoarea Session a numelui a fost preluată și afișată în browser.

Rezumat

  • Managementul sesiunii este o cale de intrare ASP.net pentru a se asigura că informațiile sunt transmise de la o pagină la alta.
  • Proprietatea de stare de vizualizare a unei pagini este folosită pentru a transmite automat informațiile controalelor de la o pagină la alta.
  • Obiectul „Sesiune” este folosit pentru a stoca și a prelua valori specifice într-o pagină web.