ASP.NET-i seansihalduse õpetus [näide]
ASP.NET-i seansihaldus
HTTP-protokoll, millel kõik veebirakendused töötavad, on olekuta protokoll. Kodakondsuseta tähendab lihtsalt seda, et teavet ei säilitata ühest päringust teise.
Näiteks kui teil oli sisselogimisleht, millel on 2 tekstikasti, millest üks on nime ja teine parooli jaoks. Kui klõpsate sellel lehel nuppu Logi sisse, peab rakendus tagama, et kasutajanimi ja parool edastatakse järgmisele lehele.
ASP.Netis tehakse seda mitmel viisil. Esimene võimalus on kontseptsiooni ViewState kaudu. See on koht, kus ASP.Net salvestab automaatselt kõigi juhtelementide sisu. See tagab ka selle edastamise järgmisele lehele. Seda tehakse ViewState'i nimelise atribuudi kaudu.
Arendaja jaoks pole ideaalne vaate olekus midagi muuta. Seda seetõttu, et seda peaks käsitlema ainult ASP.Net.
ASP.NET Session objekt
Teine võimalus on kasutada objekti, mida nimetatakse seansiobjektiks. Seansi objekt on saadaval kogu rakenduse elutsükli jooksul. Objekti Seanss saate salvestada suvalise arvu võtme-väärtuste paare. Nii et igal lehel saate alloleva koodirea kaudu salvestada väärtuse seansiobjekti.
Session["Key"]=value
See salvestab väärtuse seansiobjekti ja osa "võti" kasutatakse väärtusele nime andmiseks. See võimaldab väärtust hiljem kätte saada. Väärtuse toomiseks saate lihtsalt väljastada alloleva avalduse.
Session["Key"]
ASP.NET-i seansiobjekti näide
Meie näites kavatseme kasutada lehe nime tekstiväljale sisestatud nime salvestamiseks objekti Session. Seejärel leiame selle väärtuse ja kuvame selle vastavalt lehel. Lisame faili Demo.aspx.cs alloleva koodi.
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; }
Koodi selgitus: -
- Koodi esimene rida võtab tekstikasti juhtelemendi Nimi väärtuse ja salvestab selle objekti Session. Määrates seansi koodi ["Nimi"], anname atribuudile nime nimega "Nimi". Kui määrate atribuudile nime, on seda hiljem lihtsam kätte saada.
- Järgmine koodirida hangib seansiobjektilt salvestatud väärtuse. Seejärel kirjutab see selle väärtuse meetodi „Response.Write” kaudu kliendile tagasi.
- Lõpuks muudame kõik vormi juhtelemendid nähtamatuks. Kui me seda ei tee, kuvatakse kõik juhtelemendid ja meie vastuse väärtused koos.
Kui olete ülaltoodud muudatused teinud, näete järgmist väljundit
Väljund:
Väljundist näete, et nimi seansi väärtus leiti ja kuvati brauseris.
kokkuvõte
- Seansi juhtimine on sissepääs ASP.net et tagada teabe edastamine ühelt lehelt teisele.
- Lehe vaate oleku atribuuti kasutatakse juhtelementide teabe automaatseks edastamiseks ühelt lehelt teisele.
- Objekti "Session" kasutatakse konkreetsete väärtuste salvestamiseks ja toomiseks veebilehel.