Использование jQuery для загрузки скриптов Telerik MVC - PullRequest
1 голос
/ 16 декабря 2010

Я занят созданием моего первого приложения MVC, которое использует компоненты Telerik MVC.В их документах указано, что помощник ScriptRegistrar должен вызываться прямо в нижней части представления, например, «в конце главной страницы».Я предполагаю, что это отрисовывает блок скрипта, который должен запускаться только после загрузки страницы.Обычно я предпочитаю добиться этого с помощью jQuery и хранить все мои связанные со сценариями вещи в верхней части главной страницы, желательно в теге <head>.Что я могу сделать, чтобы добиться этого с помощью компонентов Telerik и покончить с одиноким и забытым вызовом помощника внизу моей главной страницы?

Ответы [ 2 ]

1 голос
/ 08 января 2011

ScriptRegistrar выполняет две основные обязанности:

  1. Отображение файлов JavaScript, необходимых для компонентов пользовательского интерфейса
  2. Отображение сценария инициализации JavaScript для компонентов пользовательского интерфейса

Существует объяснение, почему ScriptRegistrar должен быть последним на странице.Это так, потому что все компоненты пользовательского интерфейса должны зарегистрироваться с ним во время рендеринга.Из-за отсутствия какого-либо жизненного цикла (что, кстати, хорошо) ScriptRegistrar должен появиться (таким образом, отрисоваться) последним.В противном случае компоненты пользовательского интерфейса регистрировались бы слишком поздно - ScriptRegistrar уже выплюнул бы свой вывод.

Чтобы ответить на ваш вопрос - да, вы можете опустить ScriptRegistrar и включить необходимые файлы JavaScript самостоятельно.Однако затем вам необходимо вручную инициализировать компоненты пользовательского интерфейса.Последнее возможно, но без документов.

0 голосов
/ 05 января 2011

Код, сгенерированный блоком ScriptRegister, соответствует строке

<script type="text/javascript" src="/asset.axd?id=dgAAAB-LCAAAAAAABADsvQdgHEmWJSYvbcp7f0r1StfgdKEIgGATJNiQQBDswYjN5pLsHWlHIymrKoHKZVZlXWYWQMztnbz33nvvvffee--997o7nU4n99__P1xmZAFs9s5K2smeIYCqyB8_fnwfPyJ-8Uezjx597xd_tPro0Uevp3WxapuPRh-d82dL-uynf9E6r6-3d8f743vjn8Z31UePdn7J93_J90cfTVtq0Obv2rs_nV1mDb9NDS7p072d3d0x_be7e58-mVIf9z69T7989Kit1_kv-X8CAAD__9hh2r92AAAA"></script>

, которые не дают никаких подсказок относительно того, какие сценарии затем обрабатываются. Тем не менее, быстрый пик с FireFox показывает, что это загрузка jQuery. Я бы посоветовал вам начать с блока scriptregister, а затем использовать Firebug, чтобы выяснить, что он вызывает, а затем попробовать поменять его все на jQuery include (и другие скрипты, если они будут выбраны).

...