'AjaxControlToolkit'未定义错误

时间:2008-09-18 21:31:32

标签: asp.net javascript

我在VS2005中使用 AjaxControlToolkit ,它运行正常。我确实遇到了一些问题,当我访问某些页面时,然后单击返回,我收到此JavaScript错误:

  

'AjaxControlToolkit'未定义

我搜索了MSDN论坛和谷歌,并尝试了许多解决方案,但没有一个有效。我试过了EnablePartialRendering="true",和其他人。如果没有重写所有内容并改变我的应用程序的工作流程,有没有办法找到这个的根本原因,或修复它?

6 个答案:

答案 0 :(得分:6)

我修复了这个问题,但没有通过设置CombineScripts =“false”,而是使用描述in this post的解决方案。

最新版本发生了一些变化,因此您必须在Sys.Extended.UI.BehaviorBase来电中使用AjaxControlToolkit.BehaviorBase而不是registerClass

答案 1 :(得分:3)

要解决这个'AjaxControlToolkit'未定义错误,您可能还需要确保在ToolkitScriptManager配置中将CombineScripts设置为false。这可以在您的母版页中找到,这个解决方案对我有用。

<myTagPrefix:ToolkitScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" EnablePartialRendering="true" SupportsPartialRendering="true" **CombineScripts="false"**>

注意,您需要将myTagPrefix更改为您用于AjaxControlToolkit的tagprefix。这通常是在像这样的aspx文件顶部的asp中定义的......

<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="myTagPrefix" %>

答案 2 :(得分:1)

这可能是一个愚蠢的问题,但您是否仔细检查以确保您的aspx文件顶部有工具包参考?

(为了便于阅读而添加注释)

尝试将此添加到您的web.config

<system.web.extensions>
    <scripting>
        <scriptResourceHandler enableCompression="false" enableCaching="false" />
    </scripting></system.web.extensions>

答案 3 :(得分:0)

这是一个javascript错误吗?

我认为它与工具包中的后退按钮支持有关。

并且主要发生未定义的错误,因为包含“AjaxControlToolkit”的脚本无法正确加载。

想到的事情:

  • 订单脚本被加载,Toolkit是否获得优先权?
  • 如果任何已加载的脚本中存在错误,则尚未加载的所有其他脚本将被取消而不会被加载。

查看问题页面的输出HTML,找到所有AXD文件的链接,并确保您可以下载它们并查看里面的有效javascripts。

如果您还没有,请获取FirefoxFirebug,您应该能够跟踪发出错误的实际脚本行。

希望这有帮助。

答案 4 :(得分:0)

正如[CodeRot]所说,你需要确保你拥有所有AJAX web.config扩展,这是执行ASP.NET AJAX站点时最常见的错误点(特别是来自VS 2005)。

接下来确保页面上有一个ScriptManager(我猜你从“EnablePartialRendering”提到的那个)。

确保您引用了.NET版本的AjaxControlToolkit版本,它是针对.NET 2.0和.NET 3.5编译的,我相信最新版本仅支持.NET 3.5。

确保您已将Microsoft AJAX客户端库添加到页面中(您没有收到有关“Sys”的任何错误)。

确保在ASPX,ASCX或web.config中注册AjaxControlToolkit。

答案 5 :(得分:0)

如果没有什么事情对你不利。确认您没有缓存此ascx / aspx。删除OutputCache声明。