ASP.NET Sessiebeheer-tutorial [Voorbeeld]
ASP.NET-sessiebeheer
Het HTTP-protocol waarop alle webapplicaties werken is een stateless protocol. Met staatloos betekent dit alleen dat informatie van het ene verzoek naar het andere niet wordt bewaard.
Bijvoorbeeld, als u een loginpagina had met 2 tekstvakken, één voor de naam en de andere voor het wachtwoord. Wanneer u op de Login-knop op die pagina klikt, moet de applicatie ervoor zorgen dat de gebruikersnaam en het wachtwoord worden doorgegeven aan de volgende pagina.
In ASP.Net gebeurt dit op verschillende manieren. De eerste manier is via een concept genaamd ViewState. Dit is waarin ASP.Net automatisch de inhoud van alle bedieningselementen opslaat. Het zorgt er ook voor dat dit wordt doorgegeven op de volgende pagina. Dit gebeurt via een eigenschap genaamd ViewState.
Het is niet ideaal voor een ontwikkelaar om iets in de weergavestatus te wijzigen. Dit komt omdat het alleen door ASP.Net moet worden afgehandeld.
ASP.NET-sessieobject
De andere manier is om een object te gebruiken dat een ‘sessieobject’ wordt genoemd. Het Session-object is beschikbaar gedurende de gehele levenscyclus van de applicatie. U kunt een willekeurig aantal sleutelwaardeparen opslaan in het sessieobject. U kunt dus op elke pagina een waarde opslaan in het Session-object via de onderstaande coderegel.
Session["Key"]=value
Hiermee wordt de waarde opgeslagen in een Session-object en het 'key'-gedeelte wordt gebruikt om de waarde een naam te geven. Hierdoor kan de waarde op een later tijdstip worden opgehaald. Om een waarde op te halen, kunt u eenvoudig de onderstaande verklaring uitgeven.
Session["Key"]
ASP.NET Sessieobject Voorbeeld
In ons voorbeeld gaan we het Session-object gebruiken om de naam op te slaan die is ingevoerd in het veld name textbox op de pagina. Vervolgens gaan we die waarde ophalen en dienovereenkomstig op de pagina weergeven. Laten we de onderstaande code toevoegen aan het bestand 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; }
Code-uitleg: -
- De eerste regel code neemt de waarde van het Name-tekstvakbesturingselement en slaat deze op in het Session-object. Door de code van Session[“Name”] op te geven, geven we de eigenschap een naam met de naam “Name.” Door een naam voor de eigenschap op te geven, wordt het gemakkelijker om deze op een later tijdstip op te halen.
- De volgende coderegel haalt de opgeslagen waarde op uit het Session-object. Vervolgens schrijft het deze waarde via de 'Response.Write'-methode terug naar de client.
- Ten slotte maken we alle controls op het formulier onzichtbaar. Als we dit niet doen, worden alle controls plus onze responsewaarden samen weergegeven.
Zodra u de bovenstaande wijzigingen hebt aangebracht, ziet u de volgende uitvoer
Output:
Uit de uitvoer kunt u zien dat de sessiewaarde van naam is opgehaald en in de browser wordt weergegeven.
Samenvatting
- Sessiebeheer is een manier om binnen te komen ASP.net om ervoor te zorgen dat informatie van de ene pagina naar de andere wordt doorgegeven.
- De eigenschap View State van een pagina wordt gebruikt om automatisch de informatie van besturingselementen van de ene pagina naar de andere door te geven.
- Het object 'Session' wordt gebruikt om specifieke waarden binnen een webpagina op te slaan en op te halen.