【问题标题】:AjaxControlToolkit requires ASP.NET Ajax 4.0 scriptsAjaxControlToolkit 需要 ASP.NET Ajax 4.0 脚本
【发布时间】:2010-10-05 09:13:32
【问题描述】:

谁能解决这个问题

Microsoft JScript 运行时错误:AjaxControlToolkit 需要 ASP.NET Ajax 4.0 脚本。确保引用了正确版本的脚本。如果您使用的是 ASP.NET ScriptManager,请切换到 AjaxControlToolkit.dll 中的 ToolkitScriptManager。

我使用的是 asp.net 3.5,VS 2008。我可以在 AjaxControlToolKit.dll 文件 3.5.40412.2 中看到该版本。

【问题讨论】:

    标签: asp.net ajaxcontroltoolkit


    【解决方案1】:

    试试这个:

    改变

    <asp:ScriptManager ID="scriptManager1" runat="server"></asp:ScriptManager> 
    

    <ajaxToolkit:ToolkitScriptManager ID="toolkitScriptManager1" runat="server"></ajaxToolkit:ToolkitScriptManager> 
    

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 我已经浏览了这个链接。当我将 scriptmanager 更改为 toolcriptmanager 时,它显示此错误“无法从程序集 'System.Web.Extensions,Version=3.5.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35' 加载类型 'System.Web.UI.ScriptReferenceBase'”
      • @saknet - 检查我编辑的答案以了解您的类型加载错误解决方案。
      • 对我不起作用。以下来自@Spidy 的答案确实有效。
      【解决方案3】:

      尝试删除bin文件夹中的Microsoft.ScriptManager.MSAjax.dll..

      【讨论】:

      • 永远不要跟进那些建议删除你硬盘上的东西的人。更好的建议是重命名或重新定位它。
      • 好的.. 建议注意!谢谢
      • 除了重命名 bin 文件夹中的 Microsoft.ScriptManager.MSAjax.dll 之外,请确保它不在 Visual Studio 项目的“参考”部分中。我从来没有添加它,但它最终还是在那里,困扰了我好几天,直到我意识到它在那里。
      【解决方案4】:

      对于遇到此问题的其他人:如果您的 bin 目录中有无法加载的程序集,即使您没有在项目中引用它们,GetAjaxFrameworkAssemblyAttribute 在第一次加载时也会抛出异常,然后失败在未来的负载上工作(不抛出异常)。这个问题可能只是偶尔发生。请参阅 Microsoft Connect IssueGoogle Groups issue/work-around discussion 。所以,尽量不要在你的 bin 目录中填充不可用的 DLL。

      【讨论】:

        【解决方案5】:

        我认为您的 VS 2008 版本有问题。因为 Ajax 3.5 dll 至少需要 Visual Studio Service Pack 1。但是您可能没有Service Pack 1。所以请安装它。

        在安装 Service Pack 1 之前,从工具栏中删除 Ajax 工具包,安装完成后再次添加并运行。我也遇到了同样的问题,我是这样解决的。

        【讨论】:

          【解决方案6】:

          从您的 bin 文件夹中删除 Microsoft.ScriptManager.MSAjax.dll 和 Microsoft.ScriptManager.WebForms.dll。这对我有用。

          【讨论】:

            【解决方案7】:

            使用 AjaxControlToolkit.dll 并通过以下方式注册它
            &lt;%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %&gt;

            & 然后代替脚本管理器使用
            &lt;cc1:ToolkitScriptManager runat="server"&gt;&lt;/cc1:ToolkitScriptManager&gt;

            【讨论】:

              【解决方案8】:

              当我在作为默认模板的一部分添加的母版页上设置 ScriptManager 时遇到了这个问题。

              我遇到错误的内容页面有 ToolKitScriptManager,而母版页有 ScriptManager。

              我从母版页中删除了 ScriptManager 以消除错误。

              这是一个参考页面,详细说明了两者之间的差异。 http://blog.turlov.com/2008/05/scriptmanager-vs-toolkitscriptmanager.html

              希望对某人有所帮助!

              【讨论】:

                【解决方案9】:

                在搜索并尝试了许多解决方案之后,这对我有用:

                在projectName.csproj文件中,删除&lt;ItemGroup&gt;中的&lt;Folder Include="bin\" /&gt;

                我的情况:

                1. 我的 bin 文件夹中没有 Microsoft.ScriptManager.MSAjax.dll
                2. &lt;asp:ScriptManager ...&gt;改成&lt;ajaxToolkit:ToolkitScriptManager ...&gt;是没有意义的,因为要改的标签太多了

                【讨论】:

                  猜你喜欢
                  • 2013-10-23
                  • 1970-01-01
                  • 2012-04-16
                  • 1970-01-01
                  • 1970-01-01
                  • 2014-09-20
                  • 2023-03-30
                  • 1970-01-01
                  相关资源
                  最近更新 更多