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