Сохранять объекты C# через постбэки
У меня есть страница asp.net с кодом C# позади, который выполняет некоторые функции в методе Page_Load() (например, выполняет запрос к базе данных и делает несколько других вызовов для заполнения объектов данными). Затем я отображаю эти данные на странице. Это все отлично работает. Я настроил пару обратных передач, чтобы при щелчке по значению в списке элемент управления панели заполнялся остальными данными соответствующего объекта. Я думал, что обратные вызовы были правильным способом сделать это, но это вызывает повторный вызов (всего класса?), Который повторно инициализирует мои объекты и уничтожает данные, которые я хочу сохранить.
Решит ли эта проблема какую-то форму частичной обратной передачи, или есть лучший способ реализовать то, что я пытаюсь сделать?
Я не хочу повторно заполнять объекты каждый раз, когда вызывается обратный вызов, так как это требует запроса к базе данных, и я хочу избегать повторного запроса каждый раз, когда что-то нажимается...
Я нашел много вопросов относительно сохраняющихся объектов Javascript, но на самом деле ничего такого, что могло бы решить эту проблему. Я использую.Net 4.0
3 ответа
Поместите все ваши вещи инициализации в (!IsPostback) { }
и использовать частичные обратные передачи. Таким образом, код инициализации больше не вызывается во время обратной передачи.
Почему вы не кэшируете объект?
API-интерфейс кэширования с использованием объекта Cache: http://msdn.microsoft.com/en-us/library/aa478965.aspx