Урок за управление на сесии на ASP.NET [Пример]
ASP.NET Управление на сесии
HTTP протоколът, по който работят всички уеб приложения, е протокол без състояние. Без гражданство това просто означава, че информацията не се запазва от една заявка до друга.
Например, ако сте имали страница за вход, която има 2 текстови полета, едното за името, а другото за паролата. Когато щракнете върху бутона Вход на тази страница, приложението трябва да гарантира, че потребителското име и паролата ще бъдат прехвърлени на следващата страница.
В ASP.Net това се прави по различни начини. Първият начин е чрез концепция, наречена ViewState. Това е мястото, където ASP.Net автоматично съхранява съдържанието на всички контроли. Той също така гарантира, че това се предава на следващата страница. Това се прави чрез свойство, наречено ViewState.
Не е идеално за програмист да променя нещо в състоянието на изгледа. Това е така, защото трябва да се обработва само от ASP.Net.
Обект на ASP.NET сесия
Другият начин е да използвате обект, наречен „Обект на сесията“. Обектът Session е достъпен през целия жизнен цикъл на приложението. Можете да съхранявате произволен брой двойки ключ-стойност в обекта Session. Така че на всяка страница можете да съхраните стойност в обекта Session чрез реда с код по-долу.
Session["Key"]=value
Това съхранява стойността в обект на сесия и частта „ключ“ се използва за даване на име на стойността. Това позволява стойността да бъде извлечена на по-късен етап. За да извлечете стойност, можете просто да подадете следния оператор.
Session["Key"]
Пример за обект на ASP.NET сесия
В нашия пример ще използваме обекта Session, за да съхраним името, въведено в полето за текстово поле за име на страницата. След това ще извлечем тази стойност и съответно ще я покажем на страницата. Нека добавим кода по-долу към файла 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; }
Обяснение на кода:-
- Първият ред от код приема стойността на контролата на текстовото поле Name и я съхранява в обекта Session. Като посочим кода на Session[“Name”], ние даваме на свойството име, наречено “Name”. Като посочите име за свойството, става по-лесно да го извлечете на по-късен етап.
- Следващият ред код извлича съхранената стойност от обекта Session. След това записва тази стойност чрез метода „Response.Write“ обратно на клиента.
- Накрая правим всички контроли на формата невидими. Ако не направим това, всички контроли плюс нашите стойности на отговор ще бъдат показани заедно.
След като направите горните промени, ще видите следния резултат
Изход:
От изхода можете да видите, че стойността на сесията на името е извлечена и показана в браузъра.
Oбобщение
- Управлението на сесията е начин за влизане ASP.net за да се гарантира, че информацията се предава от една страница на друга.
- Свойството състояние на изглед на страница се използва за автоматично предаване на информацията за контролите от една страница към друга.
- Обектът „Сесия“ се използва за съхраняване и извличане на конкретни стойности в рамките на уеб страница.