У меня есть следующий код. Во время загрузки страницы я получаю объект клиента из базы данных. После этого, когда я пытаюсь получить доступ к одному и тому же объекту в другом методе, объект выходит как пустой. Объект Предположим, студент имеет такие свойства, как FirstName, LastName и т.д.Как предотвратить обнуление объекта?
Public class Test
Public oStudent as Student
Public Sub Page_Load(ByVal sender as Object, ByVal e as System.EventArgs) Handles Me.Load
oStudent = getStudent(22) 'This is just a sample. This is not my actual database.
End Sub
Public Sub Update(ByVal sender as Object, ByVal e as System.EventArgs) Handles crtlStudent.Update
Update(oStudent)'This one updates makes a database call to update the studnet
End Sub
End class
При загрузке страницы, студент возвращается из базы данных правильно. Однако, когда я нахожусь на моем методе обновления, объект oStudent становится null/empty. Так ли работает жизненный цикл страницы? Если да, мне нужно будет сохранить oStudent в сеансе или сохранить его правильно? Есть ли другой способ запретить oStudent стать другим, используя переменные сеанса или кэшировать его?
Web является лицом без гражданства. Проведите некоторое исследование по этой теме, это уже обсуждалось слишком много раз для моего вкуса ... Вы можете подумать о переходе на MVC только ради понимания того, что на самом деле происходит. – walther
В таких случаях я просто «обманываю» и использую скрытый элемент в форме для хранения значения, таким образом он сохраняется в представлении во время обратной передачи. Перестановки всегда теряют свои значения после завершения обратной передачи. – Zack