Это немного философский вопрос. Что касается страницы перф. идет, вы не должны видеть проблему только с 20 элементами управления. Однако у вас есть два ключевых узких места:
1) Получить из базы данных
Вы должны попытаться получить все данные из базы данных одновременно. Конечно, это не всегда возможно, но это сэкономит вам пару поездок. Вы также можете кэшировать этот объект для текущего запроса.
2) Сохранить
если вы пишете в db при каждом событии изменения при обратной передаче, это займет слишком много времени. Я бы предложил вам создать свойство Model
, которое получает модель из БД, и каждый обработчик изменений меняет эту модель. После того, как все обратные вызовы сработали (я не могу вспомнить лучшее событие сейчас, но я думаю, что Page_Load
в порядке), запишите эту модель в базу данных за один раз.
Что касается производительности, то это, пожалуй, наименьшее усилие для максимального усиления. Вы также можете загрузить элементы управления с помощью Ajax, чтобы они казались быстрее, но это ничего не решает.