Да, вам нужно перезагрузить класс данных из базы данных как один из вариантов или использовать альтернативный подход. Причина в том, что сеть не имеет состояния, поэтому все локальные переменные уничтожаются, а затем происходит процесс выгрузки страницы на стороне сервера. Это означает, что между запросами вам нужно что-то для хранения ваших данных.
Вы можете читать / писать объект через коллекцию Session, например:
Session ["A"] = myobj;
myobj = (ObjType) Session ["A"];
И так сеанс хранит объект для конкретного пользователя. В качестве альтернативы, кэш хранит данные уровня приложения, поэтому один экземпляр объекта доступен для всех пользователей (где сеанс уникален для каждого пользователя). Вы можете сделать кеш уникальным для пользователя, добавив идентификатор пользователя в строку кеша.
var o = Cache.Get ("A");
if (o! = null) {..}
Cache.Add ("A", o, ...);
И поэтому эти механизмы помогают вам временно хранить данные.