我有一个运行良好的VS2012 Web应用程序,直到我添加了最新的AjaxControlToolkit(7.0123)。最初,我发现安装破坏了UpdatePanel的行为 - 而在我可以在异步回发后刷新页面而不重复操作之前,我发现安装后刷新会重复上一次操作(我想回发后)不再是异步的。)
然后我注意到,在过去的某个时候,我已经注释掉了一些添加到新的ASP.NET Web窗体应用程序的默认JavaScript文件,所以我尝试重新添加它们。这导致了例外:
'MsAjaxBundle'不是有效的脚本名称。名称必须以 ”的.js'。
然后我尝试用<asp:ScriptManager .../>
替换默认的<ajaxControlToolkit:ToolkitScriptManager .../>
,这导致了新的异常
无法加载文件或程序集“System.Web”或其中一个 依赖。系统找不到指定的文件。
为了理智,我创建了一个新的ASP.NET Web窗体应用程序(VS2012,Update 2)并运行它。没有错误。使用“nuget”,然后我添加了AjaxControlToolkit v7.0123(最新版本)。再次运行应用程序,我再次获得原始异常:
'MsAjaxBundle'不是有效的脚本名称。名称必须以 ”的.js'。
我再次将<asp:ScriptManager .../>
替换为<ajaxControlToolkit:ToolkitScriptManager .../>
,再次导致
无法加载文件或程序集“System.Web”或其中一个 依赖。系统找不到指定的文件。
有人可以解释我还需要做些什么来解决这个问题吗?在添加工具包时,我无法找到任何需要手动更改的文档。
谢谢,
答案 0 :(得分:12)
在http://stephenwalther.com/archive/2012/09/20/september-2012-release-of-the-ajax-control-toolkit.aspx找到答案(总是在发布问题之后)
<asp:ScriptManager .../>
替换<ajaxControlToolkit:ToolkitScriptManager .../>
是正确的这可以修复异常(在新项目和原始项目中)。
但它不能解决UpdatePanel不再异步回发的问题。我会提出这个问题。
答案 1 :(得分:2)
如果您使用的是2013年4月发布的Ajax Control Toolkit,请参阅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>
答案 2 :(得分:0)
当你看到这个&#34;&#39; MsAjaxBundle&#39;不是有效的脚本名称。该名称必须以&#39; .js&#39;。&#34;
结尾你能做的最好的事情是:
感谢上帝现在正在努力