У меня была эта та же проблема и после большого пререкания, я решил попытаться изолировать проблему и просто загрузить менеджер скриптов на пустой странице, которая все еще привела к этой той же ошибке. Изолировав проблему, я обнаружил через сравнение web.config моего сайта с совершенно новой (рабочей) испытательной площадкой, что изменение <compilation debug="true">
к <compilation debug="false">
в system.web разделе моего web.config решает проблему.
я также должен был удалить <xhtmlConformance mode="Legacy"/>
запись от system.web, чтобы заставить панель обновления работать правильно. Щелкают здесь для описания этой проблемы.
В дополнение к обеспечению у Вас есть ScriptManager на Вашей странице, необходимо удостовериться, что web.config соответственно настроен.
, Когда ASP.NET AJAX 1.0 был выпущен (для.NET 2.0) было много пользовательских web.config настроек, которые добавили обработчики, средства управления, и т.д.
Вы найдете информацию о конфигурации здесь: http://www.asp.net/AJAX/documentation/live/ConfiguringASPNETAJAX.aspx
Попытайтесь установить свой ScriptManager на это.
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" />
Удостоверьтесь, что любые клиентские сценарии, которые Вы имеете, которые взаимодействуют с Ajax.NET, имеют следующую строку в конце:
if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
Это говорит менеджеру скриптов, что целый файл сценария загрузился и что это может начать называть клиентские методы
Я исправил свою проблему, переместив блок
, содержащий вызовы Sys. *, Ниже (до последнего элемент перед закрытием раздела
основного текста) в HTML на странице. Первоначально у меня был блок сценария в разделе HEAD
моей страницы. Я работал на странице с файлом MasterPageFile. Надеюсь, это кому-то поможет.
Когда я столкнулся с ошибками
в IE при использовании элементов управления ASP.NET Ajax в .NET 2.0, мне нужно было добавить следующее в файл web.config в
теги:
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler" validate="false"/>
</httpHandlers>
Имел подобную проблему, за исключением того, что моя страница последовательно генерировала Sys, неопределенная ошибка.
Для меня проблема происходит от того, что я только что установил расширение AJAX 1.0 для.NET 2.0, но уже создал мой веб-проект в Visual Studio.
При попытке для создания средств управления Ajax я продолжал встречаться с этой ошибкой, я определил сообщения Slace и MadMax1138s здесь. И изображенный это был мой web.config, я создал новый проект с помощью включенного веб-сайта нового "Ajax" тип проекта, и конечно же web.config имеет большое количество настроек, необходимых для использования средств управления Ajax.
Я просто обновил это web.config с обновлениями web.config, которые я уже сделал сам и бросил его в свой существующий проект, и все хорошо работало.
Пожалуйста, проверьте, что на сервере установлено правильное время и дата...
Примерно через 6 часов я где-то прочитал...
Дата и время на сервере должны быть обновлены для корректной работы...
иначе вы получите ошибку 'Sys' is undefined.
Просто создайте пустые файлы .axd в корневом каталоге решений. Проблема будет решена. (2 файла: scriptresouce.asx, webresource.asxd)
Сегодня я наблюдал точно такую же ошибку, но это не было проблемой конфигурации или прямого JavaScript.
Внешний .net проект был обновлен, но изменения не были правильно восприняты при компиляции веб-сайта. Я предполагаю, что ASP.NET ajax не смог правильно построить клиентские представления объектов .NET и поэтому не смог загрузить их правильно.
Чтобы решить проблему, я перестроил внешний проект(ы) и перестроил свое решение, которое испытывало проблемы. Проблема исчезла.