Telerik Controls - Какой смысл перерегистрировать статические скрипты в постбеке панели обновления? - PullRequest
0 голосов
/ 30 марта 2012

Я пытаюсь ускорить свой сайт, комбинируя и минимизируя мои файлы [web | script] resource.axd.

Нечто подобное и похожее на это. http://www.koders.com/csharp/fid2061F9773188F0AB36F0DC42BC6073E3A935F71F.aspx?s=cdef%3Ajquery (модифицировано для работы с ie6)

Элементы управления telerik на моих страницах отображают множество тегов сценария resouce.axd. Они также появляются в постбэках ajax панели обновления в формате pipe.

Оставленные сами по себе файлы скриптов запускаются один раз. Однако после того, как я объединяю файлы в обычном посте поста и обновление панели обновления срабатывает. Код запускается второй раз из-за ссылки на скрипт в ответе ajax панели обновления.

Это приводит к связке Telerik "Namespace уже зарегистрирован". ошибки.

(я думаю, это потому, что это отдельный файл сценария с другим именем, однако я получаю сообщение об ошибке, когда у меня такое же имя, Telerik.Web.UI.Orientation уже зарегистрирован)

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

Я реализовал это, и пока не вижу никаких проблем. Может ли быть что-то запрещающее, о чем я забыл?

Или это верное предположение?


Примеры:

Обычный Telerik Post

<html>
    ...
    <script src="webresource.axd?d=asdfasdfasdfasdfasdfasdfasdf1" />
    <script src="webresource.axd?d=asdfasdfasdfasdfasdfasdfasdf2" />
    <script src="scriptresource.axd?d=asdfasdfasdfasdfasdfasdfasdf3" />
    <script src="scriptresource.axd?d=asdfasdfasdfasdfasdfasdfasdf4" />
    ...
</html>

Обычный ответ Telerik UpdatePanel , нет проблем при запросе с некомбинированной страницы, выдает <namespace> уже зарегистрированная ошибка при запросе со страницы с комбинированными скриптами.

1|...|...|...|
123|scriptBlock|ScriptPath|/ScriptResource.axd?d=asdfasdfasdfasdfasdfasdfasdf3|
456|scriptBlock|ScriptPath|/WebResource.axd?d=asdfasdfasdfasdfasdfasdfasdf2|

Комбинированные скрипты

<html>
    ...
    <script src="js.axd?path=gdfg78sdfgsd70fghsrg89dg0sdfh0sfh9sfgh" />
</html>

1 Ответ

2 голосов
/ 30 марта 2012

То, что вы сказали, имеет смысл, и пока оно работает, я не предвижу никаких проблем. Но я сам не сталкивался с этой проблемой и использую множество средств управления telerik на панелях обновлений. Это немного меня интересует. Я предполагаю, что вы, но хотели дважды проверить, что вы используете RadScriptManager, который автоматически объединит эти файлы скриптов для вас. И поскольку вы упомянули, что хотите максимально улучшить производительность, я бы также посоветовал взглянуть на их StyleSheetManager и Compression.

http://www.telerik.com/products/aspnet-ajax/stylesheetmanager.aspx

http://www.telerik.com/products/aspnet-ajax/compression.aspx

http://www.telerik.com/products/aspnet-ajax/scriptmanager.aspx

Кроме того, вы рассматривали возможность использования их RadAjaxManager вместо UpdatePanels? Это должно быть более легким.

...