我在VS2005中使用 AjaxControlToolkit ,它运行正常。我确实遇到了一些问题,当我访问某些页面时,然后单击返回,我收到此JavaScript错误:
'AjaxControlToolkit'未定义
我搜索了MSDN论坛和谷歌,并尝试了许多解决方案,但没有一个有效。我试过了EnablePartialRendering="true",
和其他人。如果没有重写所有内容并改变我的应用程序的工作流程,有没有办法找到这个的根本原因,或修复它?
答案 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”的脚本无法正确加载。
想到的事情:
查看问题页面的输出HTML,找到所有AXD文件的链接,并确保您可以下载它们并查看里面的有效javascripts。
如果您还没有,请获取Firefox和Firebug,您应该能够跟踪发出错误的实际脚本行。
希望这有帮助。
答案 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声明。