Может ли моя UpdatePanel ссылаться на DataTable без попадания в БД каждый раз, когда она отправляет ответ? - PullRequest
1 голос
/ 28 января 2012

У меня есть пейджинговый повторитель внутри UpdatePanel, так что я могу показать, скажем, 10 записей за один раз в DataTable.При нажатии на кнопки «следующий / назад» он, конечно, покажет следующие 10 или предыдущие 10 записей.Есть ли способ, чтобы я мог ссылаться на тот же DataTable, когда я нажимаю следующий / назад, без необходимости снова получать DataTable из БД при загрузке страницы?Я думаю, у меня просто немного мозгового пердуна.Спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 30 января 2012

Я согласен с @TimS, но если у вас есть такой сценарий, как вы хотите показывать записи, основанные на некоторых критериях, вам нужно использовать ViewState (хотя это и не рекомендуется), чтобы хранить данные, специфичные для критериев страницы, и выполнять работуследующего и предыдущего.

0 голосов
/ 28 января 2012

Один из вариантов - использовать API-интерфейсы кэширования .Net.Добавьте ваши данные в кэш на определенное время или с зависимостью, а затем извлекайте их, а не вызывайте запрос к базе данных.

http://msdn.microsoft.com/en-us/library/system.web.caching.cache.add.aspx

public void AddItemToCache(Object sender, EventArgs e) {    
    if (Cache["Key1"] == null)
      Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove);
}
...