我已将代码部署在2个不同的服务器上。我在我的母版页上使用AjaxControlToolkit。一台服务器加载带有2010 Codeplex的头文件的scriptresource.axd,另一台服务器加载带有MicrosoftAjaxWebForms.js标头的scriptresource.axd。
加载MicrosoftAjaxWebForms.js的那个会出现以下错误
未捕获错误:AjaxControlToolkit需要ASP.NET Ajax 4.0脚本。确保引用了正确版本的脚本。如果您使用的是ASP.NET ScriptManager,请切换到AjaxControlToolkit.dll中的ToolkitScriptManager。
我在网上浏览了很多文章,但无法解决这个问题。我的问题是它在服务器上的相同文件以及导致此错误的原因。
答案 0 :(得分:0)
AjaxControl Toolkit包含.NET脚本管理器的扩展版本。你可以参考它,例如:
<AjaxToolkit:ToolkitScriptManager Name="someName">
.
.
</AjaxToolkit:ToolkitScriptManager>
答案 1 :(得分:0)
通过在web.config中添加以下内容解决了该问题。
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
此外,验证是否为网站配置了.axd文件