Учебное пособие по управлению сеансами ASP.NET [Пример]
Управление сеансами ASP.NET
Протокол HTTP, по которому работают все веб-приложения, является протоколом без сохранения состояния. Под отсутствием гражданства это просто означает, что информация не сохраняется от одного запроса к другому.
Например, если у вас есть страница входа в систему с двумя текстовыми полями: одно для имени, а другое для пароля. Когда вы нажимаете кнопку «Войти» на этой странице, приложению необходимо убедиться, что имя пользователя и пароль передаются на следующую страницу.
В 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.
- Наконец, мы делаем все элементы управления формы невидимыми. Если мы этого не сделаем, все элементы управления плюс наши значения ответа будут отображаться вместе.
После внесения вышеуказанных изменений вы увидите следующий вывод
Вывод:
Из выходных данных вы можете видеть, что значение имени сеанса было получено и отображено в браузере.
Резюме
- Управление сеансами – это способ ASP.net чтобы обеспечить передачу информации с одной страницы на другую.
- Свойство состояния просмотра страницы используется для автоматической передачи информации об элементах управления с одной страницы на другую.
- Объект «Сессия» используется для хранения и получения определенных значений на веб-странице.