2010-12-01 2 views
0

У меня есть элемент управления ретранслятора, который отображает список воспроизведения для моих пользователей, этот элемент управления иногда может содержать 1000 или более песен. Это отличная функция, я ранее использовал jQuery для сортировки на стороне клиента, но это имеет ограничения. Таким образом, я реализовал сортировку на стороне сервера, которая отлично работает, единственная проблема, которую я вижу, заключается в том, что, когда плейлист длится так долго, он занимает секунду или 2 до начала обратной передачи, и сортировка фактически начинается.Repeater Control asp.net

Я наблюдал за действиями в firebug и делал некоторые исследования и понимал, что значения данных привязки не сохраняются, что и делает ситуацию. Мой вопрос: когда вы смотрите в Firebug, похоже, что элемент управления ретранслятора удаляет все элементы в коллекции до начала обратной передачи? это правда, что другие испытали это?

+0

у вас лучше иметь пейджинг на месте. – 2010-12-02 13:34:41

ответ

1

Регулятор ретранслятора перестает существовать полностью между обратными передачами. Управление ретранслятором вызывается в случае, когда вы делаете запрос страницы. Он заполняется и т. Д., Затем отображается в браузере. После этого ASP.NET удалит все объекты на странице (или, скорее, сборщик мусора получит их, когда потребуется). В любом случае вы не сможете их получить больше).

Когда происходит обратная связь, он должен снова создать весь повторитель. Существуют некоторые механизмы, такие как viewstate, которые стараются сделать это максимально бесшовным (т. Е. Воссоздавать элементы управления так же, как вы оставили их в предыдущем запросе), но иногда они не работают так, как вы могли ожидать.

+0

Это то, что я вижу, когда GC удаляет элементы, я просто подхватил задержку, но она есть только там, где есть 1000 или более строк/элементов. Спасибо – ChampChris 2010-12-01 12:59:00

Смежные вопросы