ASP.NET Session Management oktatóanyag [Példa]
ASP.NET Session Management
A HTTP-protokoll, amelyen minden webalkalmazás működik, állapot nélküli protokoll. A hontalanság csak azt jelenti, hogy az információkat nem őrzik meg egyik kérésről a másikra.
Például, ha volt egy bejelentkezési oldala, amelyen 2 szövegmező található, az egyik a név, a másik a jelszó számára. Amikor az oldalon a Bejelentkezés gombra kattint, az alkalmazásnak biztosítania kell, hogy a felhasználónév és a jelszó átkerüljön a következő oldalra.
Az ASP.Netben ez többféleképpen történik. Az első mód a ViewState nevű koncepción keresztül valósul meg. Ez az, ahol az ASP.Net automatikusan tárolja az összes vezérlő tartalmát. Azt is biztosítja, hogy ez átkerüljön a következő oldalra. Ez a ViewState nevű tulajdonságon keresztül történik.
Nem ideális a fejlesztőnek, ha bármit is megváltoztat a nézet állapotában. Ez azért van, mert csak az ASP.Net-nek kell kezelnie.
ASP.NET Session objektum
A másik módszer egy „Session Object” nevű objektum használata. A Session objektum az alkalmazás teljes életciklusa alatt elérhető. A Session objektumban tetszőleges számú kulcs-érték pár tárolható. Így bármelyik oldalon tárolhat egy értéket a Session objektumban az alábbi kódsoron keresztül.
Session["Key"]=value
Ez az értéket egy Session objektumban tárolja, és a „kulcs” rész az érték elnevezésére szolgál. Ez lehetővé teszi az érték egy későbbi időpontban történő lekérését. Egy érték lekéréséhez egyszerűen adja ki az alábbi nyilatkozatot.
Session["Key"]
ASP.NET Session objektum Példa
Példánkban a Session objektumot fogjuk használni a név szövegmezőben megadott név tárolására az oldalon. Ezután lekérjük az értéket, és ennek megfelelően megjelenítjük az oldalon. Adjuk hozzá az alábbi kódot a Demo.aspx.cs fájlhoz.
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; }
Kód magyarázata: -
- A kód első sora a Név szövegmező vezérlőelemének értékét veszi fel, és a Session objektumban tárolja. A Session["Név"] kódjának megadásával a tulajdonságnak egy "Név" nevet adunk. A tulajdonság nevének megadásával könnyebbé válik a későbbiekben történő visszakeresés.
- A következő kódsor lekéri a tárolt értéket a Session objektumból. Ezt az értéket a 'Response.Write' metódussal visszaírja az ügyfélnek.
- Végül az űrlap összes vezérlőjét láthatatlanná tesszük. Ha ezt nem tesszük meg, akkor az összes vezérlőelem és a válaszértékeink együtt jelennek meg.
Miután elvégezte a fenti módosításokat, a következő kimenetet fogja látni
output:
A kimenetből láthatja, hogy a name Session értékét lekérték és megjelenítették a böngészőben.
Összegzésként
- A munkamenet-menedzsment egy bevezető út ASP.net annak biztosítása érdekében, hogy az információ átkerüljön egyik oldalról a másikra.
- Az oldal view state tulajdonsága arra szolgál, hogy a vezérlők információit automatikusan átadják egyik oldalról a másikra.
- A „Session” objektum meghatározott értékek tárolására és lekérésére szolgál egy weboldalon belül.