Представьте себе таблицу и кнопку для добавления новых строк в таблицу. При каждом нажатии кнопки новая строка будет вставляться в конец таблицы. Событие кнопки работает следующим образом:
- Прежде всего, он указывает на ссылочную строку для копирования.
- независимо от того, какие элементы управления и текст находятся в этой строке, они копируются в таблицу данных. Поскольку таблица данных не может содержать элементы управления, я конвертирую их в строки и сохраняю их таким образом.
В конце таблица данных сохраняется в кеше.
Наконец, при каждом событии page_init я воссоздаю таблицу, используя данные внутри таблицы данных. Все отлично работает.
Однако мне любопытно. Поскольку на странице содержится от 3 до 5 таблиц, и все они хранятся в другом кеше с разными данными, и все они воссоздаются во время событий цикла страницы, могут ли это вызвать какие-либо проблемы в будущем? Кстати, обратите внимание, что как только пользователь покидает страницу, кеш удаляется.
Я не хотел вставлять сюда весь код, так как он немного длинный и может оттолкнуть людей от прочтения вопроса. Но я могу привести некоторые статистические данные, чтобы вы могли прокомментировать это.
Класс, который я написал, состоит из 118 строк.
В процессе воссоздания таблицы существует 3 вложенных цикла for / foreach, но они не такие длинные (среднее время цикла, вероятно, составляет от 5 до 10 для каждого).
И наконец, как упоминалось выше, для воссоздания таблицы используется таблица данных, которая сохраняется в кеше.
Итак, я снова задаю вопрос: код работает отлично, но я хотел бы знать, является ли создание такого кода удобным для производительности?