У нас есть страница с тонной jQuery (примерно 2000 строк), которую мы хотим сократить, потому что это кошмар обслуживания, и, возможно, будет проще поддерживать ее на сервере. Мы подумали об использовании для этого UpdatePanel. Однако нам не нравится тот факт, что UpdatePanel отправляет всю страницу обратно на сервер.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я не знаю, есть ли способ оптимизировать UpdatePanels, но моя компания обнаружила, что его производительность довольно низкая. jQuery намного быстрее делает что угодно.
Между моментом, когда UpdatePanel запускает обновление, и моментом, когда UpdatePanel фактически обновляет страницу, может быть большая задержка.
Единственная причина, по которой мы используем UpdatePanels, - простота разработки. Практически ничего не нужно делать, чтобы они заработали.
Не переходите в UpdatePanels. После перехода из jQuery падение производительности будет несостоятельным. Особенно на такой сложной странице, как ваша.
Если у вас 2000 строк кода JavaScript, решение состоит в рефакторинге этого кода. Если вы поместите 2000 строк кода C# в один файл, его также будет сложно поддерживать. Этим было бы сложно эффективно управлять с помощью языка или инструмента любой.
Если вы используете 3.5 SP1, вы можете использовать новую комбинацию сценариев ScriptManager, чтобы разделить ваш JavaScript на несколько файлов без каких-либо штрафов. Таким образом, вы можете логически разделить свой код так же, как и с кодом на стороне сервера.
Пожалуйста, не погружайся в этот мир боли. Вместо этого используйте UFRAME, который намного быстрее и реализован в jQuery.
Теперь, чтобы управлять этими 2000 строками кода Javascript, я рекомендую разделить код на разные файлы и настроить процесс сборки, чтобы объединить их с помощью JSMin или Yahoo Compressor на куски.
Использование UpdatePanel заставляет вас использовать ScriptManager, который добавлял множество скриптов на ваши веб-страницы. UpdatePanel предоставляет вам частичную обратную передачу, а не настоящий ajax. Если вы будете работать только в локальной сети, а не в Интернете, это нормально, но если ваша цель - Интернет, попробуйте рефрактировать свои коды и сжать их с помощью некоторых инструментов перед публикацией на веб-сайте.