ASP.NET Session Management Tutorial [Eksempel]
ASP.NET Session Management
HTTP-protokollen som alle nettapplikasjoner fungerer på er en statsløs protokoll. Med statsløs betyr det bare at informasjon ikke beholdes fra en forespørsel til en annen.
For eksempel, hvis du hadde en påloggingsside som har 2 tekstbokser, en for navnet og den andre for passordet. Når du klikker på Logg på-knappen på den siden, må applikasjonen sørge for at brukernavnet og passordet sendes til neste side.
I ASP.Net gjøres dette på en rekke måter. Den første måten er via et konsept kalt ViewState. Dette er der ASP.Net automatisk lagrer innholdet til alle kontrollene. Det sørger også for at dette overføres til neste side. Dette gjøres via en egenskap kalt ViewState.
Det er ikke ideelt for en utvikler å endre noe i visningstilstanden. Dette er fordi det kun skal håndteres av ASP.Net.
ASP.NET Session-objekt
Den andre måten er å bruke et objekt kalt et "Session Object". Session-objektet er tilgjengelig gjennom hele applikasjonens livssyklus. Du kan lagre et hvilket som helst antall nøkkelverdi-par i Session-objektet. Så på hvilken som helst side kan du lagre en verdi i Session-objektet via kodelinjen nedenfor.
Session["Key"]=value
Dette lagrer verdien i et Session-objekt og 'nøkkel'-delen brukes til å gi verdien et navn. Dette gjør at verdien kan hentes på et senere tidspunkt. For å hente en verdi kan du ganske enkelt utstede erklæringen nedenfor.
Session["Key"]
ASP.NET Session objekt Eksempel
I vårt eksempel skal vi bruke Session-objektet til å lagre navnet som er skrevet inn i navnetekstboksen på siden. Vi skal deretter hente den verdien og vise den på siden deretter. La oss legge til koden nedenfor i Demo.aspx.cs-filen.
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; }
Kodeforklaring:-
- Den første linjen med kode tar verdien av tekstbokskontrollen Navn og lagrer den i Session-objektet. Ved å spesifisere koden til Session[“Navn”] , gir vi egenskapen et navn kalt “Navn”. Ved å spesifisere et navn på eiendommen blir det lettere å hente det opp på et senere tidspunkt.
- Den neste kodelinjen henter den lagrede verdien fra Session-objektet. Den skriver deretter denne verdien via 'Response.Write'-metoden tilbake til klienten.
- Til slutt gjør vi alle kontrollene på skjemaet som usynlige. Hvis vi ikke gjør dette, vil alle kontrollene pluss våre svarverdier vises sammen.
Når du har gjort endringene ovenfor, vil du se følgende utgang
Utgang:
Fra utgangen kan du se at øktverdien til navnet ble hentet og vist i nettleseren.
Oppsummering
- Sesjonsledelse er en vei inn ASP.net for å sikre at informasjonen overføres fra den ene siden til den andre.
- Visningstilstandsegenskapen til en side brukes til å automatisk overføre informasjonen til kontrollene fra den ene siden til den andre.
- 'Session'-objektet brukes til å lagre og hente spesifikke verdier på en nettside.