ASP.Net 4.0 Ajaxで複雑な問題が発生しました...マシンでVisual Studio 2010を使用してWebサイトを開始し、以前は正常に動作していた更新パネルを追加しましたが、実行すると突然一連のエラーが発生しましたウェブサイト
Microsoft JScriptランタイムエラー:ASP.NET Ajaxクライアント側フレームワークの読み込みに失敗しました。
Microsoft JScriptランタイムエラー: 'Sys'は未定義です
奇妙なことは、VS 2010と同じマシンでWebサイトを作成し、そこにある更新パネルが完全に機能することです.web.configを新しいWebサイトに持ち、接続だけを変更しました。同じエラーが発生しました
ソリューションを検索しようとしましたが、実際のソリューションが見つかりませんでした。
Asp.netフォーラムの thread から zhughes による回答を以下に示します。
理由:URLルーティングモジュールが使用されると、scriptmanagerによって生成されるjavascriptのパスが変更されます。
解決策:「axd」拡張子を持つファイル(scriptmanagerによって生成されたファイル)をルーティングしないようにルーティングAPIに指示します
Global.asaxでルーティングルールを登録するメソッドにこのルールを追加します
routes.Ignore("{resource}.axd/{*pathInfo}");
さらに、web.configにこのセクションが必要です
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
uRL書き換えモジュールを使用している場合、各書き換えルールに追加します
<add input="{URL}" pattern="\.axd$" negate="true"/>
次のような条件タグの下で:
<rule name="HomeRewrite" stopProcessing="true">
<match url="^home$"/>
<conditions>
<add input="{URL}" pattern="\.axd$" negate="true"/>
</conditions>
<action type="Rewrite" url="/home.aspx"/>
</rule>
これはキャッシュ/圧縮の問題である可能性があり、Web.Configに以下を追加することで問題を解決しました。
<system.web.extensions>
<scripting>
<scriptResourceHandler enableCaching="false" enableCompression="false" />
</scripting>
</system.web.extensions>
Microsoft JScriptランタイムエラー:ASP.NET Ajaxクライアント側フレームワークの読み込みに失敗しました。
このような参照を追加します。
<add Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add Assembly="System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add Assembly="System.Data.Services, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add Assembly="System.Data.Services.Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<Handlers>
の<httpHandlers>
のように、web.configの一部が欠落している可能性があります。Web構成の古いコピーがある場合は試してみてください。
同じ問題があり、Framework 4.0(アプリケーションが実行された)のフォルダーでコマンドaspnet_regiis -iを実行して解決しました。これは、IISのハンドラーマッピングの問題でした。この操作により、問題が修正されます。 this post もご覧ください。
これが役に立てば幸いです。
私は同じ問題を抱えていました。 VS 2010 SP1をインストールすると、問題はなくなりました。
これは、ページがロードする前にフレームワークJavaScript関数を呼び出そうとしたときに発生する一般的なエラーです。
したがって、domの準備ができたらコードを実行し(ページロードなど)、scriptmanagerタグの後にコードを配置するか、scriptmanagerからjavascriptをロードした後に配置するようにチェックします。
私の場合、それはIISExpressで、cassini devサーバーに切り替えて頭痛を解消します。
私はこの問題を抱えて全能のグーグルに答えを求め、上記のものを含むさまざまな提案を試みましたが、運はありませんでした。あきらめて他の仕事に移り、数日後に戻ってきて、問題は消えました。
作業を再開し、コードをいくつか変更し、Webサイトを公開すると、問題が再発しました。 Googleに戻って、3.5フレームワークの使用中に問題が発生した人に出会いました。その場合、「プログラムの追加と削除」コントロールパネルに移動して修復オプションを選択することで、問題を解決できました。
同様に、「MS .NET Framework 4 Client Profile」および「MS .NET Framework 4 Extended」を修復しました。これで問題は解決しました。
それが他の誰かのためにそれを解決することを願っています。
マスターページの処理にもこの問題がありました。私の場合は、「ベース」メタ設定が混乱してしまいました。別の記事/ブログで、このタイプのエラーの原因となるさまざまなドメインでのajax検証の問題について言及したことを思い出します。
私の場合、<base...>
サイトのデフォルトURLの設定を参照しますが、私の開発は明らかに異なるURLでした...したがって、競合し、「ASP.NET Ajaxクライアント側フレームワークのロードに失敗しました。」エラー。
ベースと出来上がりを削除...エラーがなくなった。
HTH
デイブ
私の場合、Ajaxから要求されたURLの一部を拒否していたのは、MicrosoftのUrlScanツールでした。無効にすることで問題は解決しました。