22

エラーMicrosoftJScriptランタイムエラーがあります:ASP.NETAjaxクライアント側フレームワークを読み込めませんでした。マスターページを使用して空白のページに

ここに画像の説明を入力してください

<!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を追加しようとする可能性があります。このエラーを修正する方法がわかりません。ajaxcontroltoolkitのbinファイルを追加し直そうとしましたが、動作しないようです。

4

21 に答える 21

43

この解決策は私のために働きます:

クライアントのエラーは次のとおりです。

SCRIPT5022:ASP.NETAjaxクライアント側フレームワークを読み込めませんでした。

SCRIPT5009:「Sys」は未定義です

ウェブサイトのマイニングとより多くの解決策に多くの時間を費やした後、私は問題を解決します:

.NET4.0のソリューションは次のとおりです。

次のように、スクリプトマネージャーのEnableCdnプロパティを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>
于 2013-12-01T19:29:41.847 に答える
21

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」フォルダーからファイルを削除して解決策を再構築し、ブラウザーのキャッシュをクリアしてみてください。

解決策4:これをweb.configに追加します

<location path="ScriptResource.axd">
   <system.web>
      <authorization>
         <allow users="*"/>
      </authorization>
   </system.web>
</location>
于 2012-07-02T06:59:02.103 に答える
5

telerik Webリソースの場合、次のコードを使用します。

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

于 2013-04-25T10:18:41.307 に答える
3

WebForms Routingを有効にしていて、リソースの例外を追加するのを忘れていました。

routes.Ignore("{resource}.axd/{*pathInfo}");
于 2016-04-16T13:22:01.823 に答える
2

もう1つの考えられる原因は、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を参照してください。ここで、問題を特定しました。

于 2013-07-12T17:47:04.643 に答える
1

フォームを新しいサーバーに移動したときに、この問題が発生しました。私は解決策を見つけるために何時間も費やしました。問題は、新しいサーバーにASP.NET 4.0があり、私のweb.configがASP.NET3.5であったことです。だから私は新しいweb.configを作成し、すべてが今は大丈夫です。

于 2015-07-15T10:04:24.107 に答える
1

<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>
于 2015-08-19T11:15:08.203 に答える
1

私にとって、それは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);
                }
            }
        }
于 2015-09-03T11:42:43.947 に答える
0

私の場合、Ajaxの読み込みエラーは、ページを初めて読み込んだときではなく、ページを再読み込みした場合にのみ発生しました。

Site.Masterのタグのコンテンツを見ると、一部のアイテムのみにPath属性が設定されていることがわかりました。そこで、MsAjaxBundleをこれに更新しました。問題は解決しました。また、同じ方法でWebFormsBundleを変更する必要があり、ページの再読み込みが機能するようになりました。

于 2014-04-18T11:13:42.923 に答える
0

私にとってうまくいったのは、MicrosoftからASP.NETAjaxをダウンロードすることでした。

参照を追加するときに、正しいdllバージョンを明示的に参照する必要がある場合もあります。

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Web.Extensions.dll
于 2014-06-17T16:08:45.087 に答える
0

インストール中にアプリケーションプールASP.NET4.0Classicとして設定しました。

于 2015-01-24T11:25:09.543 に答える
0

RadScriptMangerをSimpleasp:ScriptManagerに変更しただけで、機能します

前:

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

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

それが役に立てば幸い

于 2015-03-30T17:46:22.627 に答える
0

次のように、 EnableScriptCombine="False"をRadScriptManagerに追加します。

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

于 2015-04-16T07:49:30.997 に答える
0

そして、ここに別の原因があります。MySQL Connector /net6.9.5をインストールしました。その後、IEのすべてではありませんが、一部のプロジェクトで恐ろしい「sysundefined」を取得し始めました。何時間も後にChromeとOperaを試してみたところ、最初のページは正常に開きましたが、ポストバックですべてのセッション変数が消えていました。それがついにペニーが落ちたときです-Connector/netはそれ自体でセッション状態プロバイダーを設定したに違いありませんが、失敗したプロジェクトのweb.configのセッション状態については何もありませんでした。Sessionstateinprocはすぐに修正しました。少なくとも私はそれが起こったと思います...

于 2016-05-12T15:18:12.050 に答える
0

私の場合、で言及されたハンドラー<httpHandlers>と同様にで終わっていました<handlers>。セクションを削除すると<httpHandlers>修正されました。

于 2017-02-20T14:06:28.103 に答える
0

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}");
于 2017-05-04T17:44:27.980 に答える
0

ASP.NETAJAXスクリプトをバンドルするVisualStudio2015 ASP.NET 4.5 WebFormsWebアプリケーションプロジェクトテンプレートを使用する場合:

https://stackoverflow.com/a/47673606/313935

于 2017-12-06T11:52:49.023 に答える
0

私にとって、Web設定は正しかった。Web構成が正しい場合。IIS App pool私の場合の設定を確認してくださいApp pool pipeline。パイプラインを統合したクラシックとして選択され、機能し始めました。

[ iis ] ->アプリケーションプールを右クリック->[詳細 設定] ->[ マネージパイプラインモード] ->[統合] ->[ OK ]に移動します

于 2018-04-20T06:51:40.747 に答える
0

Visual Studio 2015 ASP.NET 4.5 WebフォームWebアプリケーションプロジェクトを使用していますが、APIコントローラーのルートが正しくないとこのエラーが発生するようです。ルートを修正すると、エラーはなくなりました。クライアントフレームワークがロードされない理由について、より説明的なエラーメッセージが表示されると確かに便利です。web.config設定の確認、.net一時ディレクトリのクリア、global.ascxの確認などに何時間も費やしました。奇妙なことに、default.aspxの読み込み中にIE 11が停止し、chromeがdefault.aspxとWebサイトを読み込むことができました。 。

于 2018-11-28T13:12:17.483 に答える
0

web.configでコンパイルをfalseに変更してみてください。

<compilation debug="false" targetFramework="4.5">
于 2019-09-04T11:59:50.510 に答える
0

これらの答えのどれもあなたのために働かないなら、あなたは私の状況にあるかもしれません。さて、私にとってこの問題は、ssl証明書の有効期限が今日切れたことが原因でした。更新した後、これらのエラーはなくなりました。

于 2021-12-06T19:24:22.463 に答える