Sys не определен

Asked
Viewd131343

63

У меня есть проект комплекта управления ASP.Net/AJAX, над которым я работаю. В 80% случаев проблем нет. Страница работает как надо. Если вы обновите страницу, она иногда будет отображать ошибку JavaScript «Sys is undefined».

Это происходит не постоянно, но воспроизводимо. Когда это происходит, пользователь должен закрыть свой браузер и снова открыть страницу.

Это наводит меня на мысль, что это может быть настройка IIS.

Еще одно примечание. Я смотрел на источник страницы и когда получаю ошибку, и когда нет. Когда страница выдает ошибки, отсутствует следующий код:

 <script src="/ScriptResource.axd?d=EAvfjPfYejDh0Z2Zq5zTR_TXqL0DgVcj_h1wz8cst6uXazNiprV1LnAGq3uL8N2vRbpXu46VsAMFGSgpfovx9_cO8tpy2so6Qm_0HXVGg_Y1&amp;t=baeb8cc" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
if (typeof(Sys) === 'undefined') throw new Error('ASP.NET Ajax client-side framework failed to load.');
//]]>
</script>
 

30 ответов

3

Убедитесь, что все клиентские скрипты, которые взаимодействуют с .NET AJAX, имеют в конце следующую строку:

 if (typeof(Sys) !== 'undefined')  Sys.Application.notifyScriptLoaded();
 

Это сообщает диспетчеру сценариев, что весь файл сценария загружен и что он может начать вызывать клиентские методы

8

Попробуйте настроить ScriptManager на это.

 <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" /> 
 
4

В дополнение к тому, что у вас есть ScriptManager на вашей странице, вам необходимо убедиться, что ваш web.config правильно настроен.

Когда был выпущен ASP.NET AJAX 1.0 (для .NET 2.0), было множество пользовательских настроек web.config, которые добавляли обработчики, элементы управления и т. д.

Вы найдете информацию о конфигурации здесь: http: // www. asp.net/AJAX/documentation/live/ConfiguringASPNETAJAX.aspx