Не удалось загрузить платформу на стороне клиента ASP.NET Ajax. когда класть ScriptManager на пустую страницу - программирование

Не удалось загрузить платформу на стороне клиента ASP.NET Ajax. когда класть ScriptManager на пустую страницу

У меня ошибка Ошибка выполнения Microsoft JScript: не удалось загрузить платформу на стороне клиента ASP.NET Ajax. на пустой странице с помощью главной страницы

enter image description here

 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">

    <div>

    </div>
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnableCdn="True">
    </asp:ScriptManager>
    </form>
</body>
</html>

Это то, что он делает его концом

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>

</title></head>
<body>
    <form method="post" action="WebForm2.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNjE2OTgwNTY5ZGTfWA/dEX85PXBlbkKsVxeLKyIn+mJQ9piW5cbeNE+qww==" />
</div>

<script type="text/javascript"> 
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
    theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>


<script src="http://ajax.microsoft.com/ajax/4.0/2/WebForms.js" type="text/javascript"></script>


<script src="/ScriptResource.axd?d=6x_aX-LOcgUU-O_K6nM7ST5ViC_naT1e4_j-CY35ASRLpcKYpiapwTARuePHvx3llP-Xhl_AG_ubpM1BzkM5iyn9ThB3m7lmXKvkck0cxTcYiT-VbeKgamKxp9EwxBUyIQN6sSCU9SQm3tMtmzQWRg2&amp;t=ffffffffbad362a4" 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>

<script src="/ScriptResource.axd?d=khKEuZ4oUqBYvQxJ1ISpPVIW8_AWWc907q5_v74DI2ruWKTJpldq2osxPkAZ__hffe1Q6HTQUyTbL3Q1mD6MX7V65O5ibxKwb4NvN6ycdZ8vEJ-bz51MO-8uoaP2xioK6npm5n8vldI1d0sOCnH6yw2&amp;t=ffffffffbad362a4" type="text/javascript"></script>

    <div>

    </div>
    <script type="text/javascript"> 
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ScriptManager1', 'form1', [], [], [], 90, '');
//]]>
</script>

    </form>
</body>
</html>

Проблемы могут заключаться в том, что у меня был AjaxControlToolkit в моем проекте, но позже я использовал jquery. поэтому где-то в проекте может попытаться добавить Ajaxcontroltoolkit, который я не могу найти. Я не знаю, как исправить эту ошибку. Я попытался добавить файл bin ajaxcontroltoolkit назад, но он, похоже, не работает.

4b9b3361

Ответ 1

Sys undefined означает, что вы не загружаете файлы на стороне клиента в свой браузер.

Решение 1:

<add verb="GET"
  path="ScriptResource.axd"
  type="Microsoft.Web.Handlers.ScriptResourceHandler"
  validate="false"/>

Решение 2: Если у вас этого нет, добавьте это тоже под <assemblies>

<add assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

Решение3: Если это не сработает, попробуйте удалить файлы из папки "bin" и перестроить решение и очистить кеш браузера. p >

Решение 4: Добавьте это в свой web.config

<location path="ScriptResource.axd">
   <system.web>
      <authorization>
         <allow users="*"/>
      </authorization>
   </system.web>
</location>

Ответ 2

это решение работает для меня:

Ошибка на клиенте:

SCRIPT5022: ASP.NET Ajax на стороне клиента не удалось загрузить.

SCRIPT5009: "Sys" - undefined

После многократного размазывания сайтов и других решений я решаю проблему:

решение для .NET 4.0:

Задайте свойство EnableCdn менеджера script равным true, например:

<asp:ScriptManager ID="ScriptManager1" runat="server" EnableCdn="true">

Следующее решение и лучшее решение:

добавьте этот обработчик в ваш web.config

  <system.webServer>
    <handlers>
      <remove name="WebServiceHandlerFactory-Integrated"/>
      <remove name="ScriptHandlerFactory"/>
      <remove name="ScriptHandlerFactoryAppServices"/>
      <remove name="ScriptResource"/>
      <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </handlers>
  </system.webServer>

Ответ 3

для веб-ресурсов telerik используйте этот код:

<location path="Telerik.Web.UI.WebResource.axd">
<system.web>
  <authorization>
    <allow users="*"/>
  </authorization>
</system.web>

Ответ 4

Другой возможной причиной является script объединение/сжатие в IE 8 и 9. В web.config на верхнем уровне (внутри Конфигурации) поместите

 <system.web.extensions>
       <scripting>
             <scriptResourceHandler enableCompression="false" enableCaching="true" />
    </scripting>
</system.web.extensions>

На вашем ToolKitScriptManager добавьте CombineScripts = False, например.

<asp:ToolkitScriptManager runat="server" CombineScripts="False">
</asp:ToolkitScriptManager>

см. http://robmzd.blogspot.com/2010/02/invalid-character-error.html, где я выяснил проблему

Ответ 5

У меня возникла эта проблема, когда я переместил свои формы на новый сервер. Я потратил несколько часов, чтобы найти решение. Проблема заключалась в том, что новый сервер имеет ASP.NET 4.0, а мой web.config - это ASP.NET 3.5. Поэтому я создал новый web.config, и теперь все в порядке.

Ответ 6

Просто добавьте раздел <handlers>, как показано ниже, в ваш web.config в <system.webServer>, и это устранит проблему в кратчайшие сроки.

<system.webServer>
.
.
.
<handlers>
  <remove name="WebServiceHandlerFactory-Integrated"/>
  <remove name="ScriptHandlerFactory"/>
  <remove name="ScriptHandlerFactoryAppServices"/>
  <remove name="ScriptResource"/>
  <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</handlers>
</system.webServer>

Ответ 7

Для меня это была проблема с кодом Global.asax,

Просто проверьте условие ниже перед проверкой сеанса в Application_PreRequestHandlerExecute

Request.Path.ToUpper() != Constants.AliasName.ToUpper() + "SCRIPTRESOURCE.AXD"

Функциональный код показан ниже,

protected void Application_PreRequestHandlerExecute(Object sender, EventArgs e)
        {
            if ((Request.Path != Constants.DebugLoginUrl) &&
                (Request.Path != Constants.SessionTimeOut) &&
                (Request.Path.ToUpper() != Constants.AliasName.ToUpper() + "TRACE.AXD") && 
                (Request.Path.ToUpper() != Constants.AliasName.ToUpper() + "SCRIPTRESOURCE.AXD"))
            {
                // to prevent check of HTTP HANDLER FLUSH - Session State is Invalid
                if (HttpContext.Current.Session != null)
                {
                    if (Session[Constants.personId] == null)
                    {
                    //your code
                    }

                else
                {
                    Response.Redirect(Constants.SessionTimeOut);
                }
            }
        }

Ответ 8

Я включил Маршрутизацию WebForms и забыл добавить исключение для ресурсов:

routes.Ignore("{resource}.axd/{*pathInfo}");

Ответ 9

В моем случае ошибка загрузки Ajax произошла, только если я перезагрузил страницу, а не когда страница была загружена в первый раз.

Посмотрев на содержимое в теге в Site.Master, я заметил, что только некоторые из элементов имеют атрибут Path. Итак, я обновил MsAjaxBundle до этого: проблема исчезла. Мне также пришлось изменить WebFormsBundle таким же образом, и теперь перезагрузка страницы работает.

Ответ 10

Для меня работала загрузка ASP.NET Ajax из Microsoft.

Вам также может потребоваться явно просмотреть правильную версию dll при добавлении ссылки, например.

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Web.Extensions.dll

Ответ 11

Я устанавливаю Application Pool как ASP.NET 4.0 Classic во время установки.

Ответ 12

Ну, я просто изменил RadScriptManger на Simple asp: ScriptManager и работает

До:

<telerik:RadScriptManager ID="RadScriptManager1" EnableCdn="true" runat="server" />

После

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

Надеюсь, что это поможет

Ответ 13

Добавьте EnableScriptCombine = "False" в свой RadScriptManager следующим образом:

<telerik:RadScriptManager ID="RadScriptManager1" EnableScriptCombine="False" runat="server" />

Ответ 14

И вот еще одна причина. Я установил MySQL Connector/net 6.9.5. Позже я начал получать страшные "sys undefined" для всех в некоторых, но не во всех проектах в IE. Много-много часов спустя я пробовал Chrome и Opera, и первая страница открылась нормально, но после ответа все переменные сеанса исчезли. Это, когда пенни, наконец, упали - Connector/net должен был настроить поставщика состояния сеанса, но у меня не было ничего для состояния сеанса в web.config для неудачных проектов. Sessionstate inproc исправил это немедленно. По крайней мере, я думаю, что случилось...

Ответ 15

В моем случае я оказался с указанными обработчиками в <httpHandlers>, а также в <handlers>. Удаление раздела <httpHandlers> исправлено.

Ответ 16

После добавления ссылки System.Web.MVC на мой ASP.NET и добавленного маршрута по умолчанию в global.asax т.е.

RouteTable.Routes.MapRoute("Default", "{controller}/{action}/{id}",
                                       new { controller = "new", action = "Index", id = "" });
        }

Начало получения ошибки

Добавлена ​​строка ниже для global.asax.cs для ее разрешения

  RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

Ответ 17

Для тех, кто работает с шаблоном проекта WebForms Visual Studio 2015 ASP.NET 4.5 WebForms, который связывает сценарии ASP.NET AJAX:

fooobar.com/questions/325519/...

Ответ 18

для меня веб-конфиг был правильным. если веб-конфиг правильный, то проверьте настройки IIS App pool в моем случае App pool pipeline был выбран в качестве классического встроенного конвейера, который я сделал, и он начал работать.

Перейдите на страницу iis ->, щелкнув правой кнопкой мыши пул приложений. -> Дополнительные настройки ->. Управляемый конвейерный режим -> "интегрированный" -> нормально

Ответ 19

Я использую проект веб-приложения Visual Studio 2015 ASP.NET 4.5 Web Forms, и, вероятно, неправильный маршрут в контроллере API также приведет к этой ошибке. Я исправил маршрут и ошибка ушла. Конечно, было бы неплохо для более описательного сообщения об ошибке, почему клиентская среда не загружается. Я потратил часы на проверку настроек web.config, очистку временных каталогов .net, проверку global.ascx и т.д. Странно то, что, пока IE 11 не работал при загрузке default.aspx, chrome смог загрузить default.aspx и веб-сайт. ,

Ответ 20

Попробуйте изменить в файле web.config значение false:

<compilation debug="false" targetFramework="4.5">