2013-04-29 3 views
0

У меня есть ScriptManager на главной странице, которая загружает все мои файлы javascript. Однако я обнаружил, что один из моих файлов становится слишком большим, поэтому я решил разбить его на отдельные файлы, сгруппированные по функциональным соображениям. Однако эти файлы, похоже, не загружаются. Когда я ссылаюсь на функцию, объявленную в новом файле javascript, я получаю нулевую ошибку ссылки.Javascript файл не загружается с ScriptManager

Вот пример: У меня есть SignOff.js и SignOffTools.js. Оба находятся в одном каталоге. SignOff.js - это оригинальный большой файл. SignOffTools.js - это новый файл.

У меня есть следующие строки на главной странице.

 <asp:ScriptReference Path="~/Tabs/SignOff.js" /> 
     <asp:ScriptReference Path="~/Tabs/SignOffTools.js" /> 

Все в SignOff.js загружается нормально. Но если я сделаю ссылку на функцию SignOffTools.js в моем файле ascx, скажем, в событии onclick, я получаю исключение с нулевой ссылкой.

После дополнительного исследования с Firebug он выглядит так, как SignOffTools.js не загружается. Но я понятия не имею, почему.

У меня полная потеря. Удаление ссылки на устаревшее SignOff.js предотвращает его загрузку. Но добавление ссылки на любой новый файл не приводит к их загрузке. Я добавил ссылки src на уровни ascx (tab), aspx (page) и Master страницы без какого-либо эффекта. Я даже встроил javascript прямо на вкладку без каких-либо успехов. Но как только я копирую javascript в старый файл SignOff.js, все работает. Поскольку я не вижу никакой логики в этом поведении, мне остается сделать вывод, что это работа какого-то злонамеренного духа. Я предполагаю, что следующий шаг для меня, чтобы позвонить на мой компьютер в чесноке и водить деревянный пакет через материнскую плату.

+1

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

+0

Я не уверен. Это устаревшее приложение, и я стараюсь поддерживать последовательность. – Legion

+0

Вы проверили вкладку сети, чтобы узнать, загружен или не найден файл? Вероятно, вам также необходимо очистить кеш на домашней странице, затем открыть вкладку сети и щелкнуть правой кнопкой мыши - открыть в новом окне файл Signoff.js и очистить кеш. Затем закройте браузер и повторите попытку. – scrappedcola

ответ

0

Оказывается, это было вызвано отсутствием фигурной скобки} в одном из файлов. Это привело к тому, что все файлы, на которые ссылается после этой точки, стали неотъемлемой частью их кода. К сожалению, Visual Studio не предупредила меня об ошибке. Он был обнаружен моим другом с помощью Решарпера.