8

最新の AjaxControlToolkit (7.0123) を追加するまで、正常に動作していた既存の VS2012 Web アプリケーションがあります。最初に、インストールによって UpdatePanel の動作が壊れていることがわかりました。一方、操作を繰り返さずに非同期のポストバック後にページを更新する前に、インストール後に更新によって前の操作が繰り返されることがわかりました (ポストバックだと思います)。非同期ではなくなりました)。

その後、過去のある時点で、新しい ASP.NET Web フォーム アプリケーションに追加された既定の JavaScript ファイルの多くをコメント アウトしていたことに気付きました。そのため、それらを再度追加しようとしました。これにより、次の例外が発生しました。

「MsAjaxBundle」は有効なスクリプト名ではありません。名前は「.js」で終わる必要があります。

<asp:ScriptManager .../>次に、デフォルトをこれに置き換えてみました<ajaxControlToolkit:ToolkitScriptManager .../>が、新しい例外が発生しました

ファイルまたはアセンブリ 'System.Web' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

正気を保つために、新しい ASP.NET Web フォーム アプリケーション (VS2012、Update 2) を作成して実行しました。エラーなし。「nuget」を使用して、AjaxControlToolkit v7.0123 (最新リリース) を追加しました。アプリケーションを再度実行すると、元の例外が再び発生します。

「MsAjaxBundle」は有効なスクリプト名ではありません。名前は「.js」で終わる必要があります。

もう一度、私はに置き換え <asp:ScriptManager .../>、もう一度、<ajaxControlToolkit:ToolkitScriptManager .../>これは次の結果になります

ファイルまたはアセンブリ 'System.Web' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

これを解決するために私が他に何をする必要があるかについて誰かが光を当てることができますか? ツールキットを追加するときに手動で変更する必要があることを示すドキュメントは見つかりません。

ありがとう、

4

3 に答える 3

12

http://stephenwalther.com/archive/2012/09/20/september-2012-release-of-the-ajax-control-toolkit.aspxで見つかった回答(常に質問を投稿した直後です)

  • で置き換える<asp:ScriptManager .../><ajaxControlToolkit:ToolkitScriptManager .../>が正しい
  • MsAjaxBundle への参照を削除する必要があります
  • スクリプト参照から Assembly="System.Web" を削除する必要があります

これにより、例外が修正されます (新しいプロジェクトと元のプロジェクトの両方で)。

ただし、UpdatePanel が非同期でポスト バックしなくなるという問題は解決しません。これを新しい質問として提起します。

于 2013-04-06T14:12:59.353 に答える
2

Ajax Control Toolkit の 2013 年 4 月リリースを使用している場合は、Stephen Walther の最新のブログ投稿を参照してください。

http://stephenwalther.com/archive/2013/04/30/april-2013-release-of-the-ajax-control-toolkit.aspx

新しいリリースで AjaxFileUpload コントロールを動作させるための新しい web.config 設定がありませんでした

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" maxRequestLength="42949672" />
    <httpHandlers>
      <add verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/>
    </httpHandlers>
  </system.web>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <handlers>
      <add name="AjaxFileUploadHandler" verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/>
    </handlers>
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="4294967295"/>
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>
于 2013-05-13T14:24:32.587 に答える
0

「'MsAjaxBundle' は有効なスクリプト名ではありません。名前は '.js' で終わる必要があります。」というメッセージが表示された場合。

あなたができる最善のことは次のとおりです。

  1. サイト マスターに移動します (ダブルクリックします)。
  2. 「MsAjaxBundle」または「 」を検索します
  3. この行にコメントを付けます。<%----%>
  4. プログラムを保存またはコンパイルしてから実行します

神に感謝します

于 2015-03-13T11:51:50.387 に答える