AjaxControlToolkit加载MicrosoftAjax.js脚本资源的问题

时间:2014-06-05 21:00:03

标签: c# javascript asp.net ajax ajaxcontroltoolkit

我已将代码部署在2个不同的服务器上。我在我的母版页上使用AjaxControlToolkit。一台服务器加载带有2010 Codeplex的头文件的scriptresource.axd,另一台服务器加载带有MicrosoftAjaxWebForms.js标头的scriptresource.axd。

加载MicrosoftAjaxWebForms.js的那个会出现以下错误

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

我在网上浏览了很多文章,但无法解决这个问题。我的问题是它在服务器上的相同文件以及导致此错误的原因。

2 个答案:

答案 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文件