DotNetNuke 6支持Ajax Control Toolkit吗?

7

有人在DNN 6中成功使用Ajax Control Toolkit吗?我们从DNN 5.x迁移到6.x时,我的模块停止工作了。模块编译没有错误,但我收到客户端脚本错误:

'AjaxControlToolkit需要ASP.NET Ajax 4.0脚本。确保引用正确版本的脚本。如果您正在使用ASP.NET ScriptManager,请切换到AjaxControlToolkit.dll中的ToolkitScriptManager'

根据我找到的信息,似乎这与Telerik的控件发生冲突。但我没有找到任何修复方法。

3个回答

3
您应该能够使用旧版本的ASP.NET AJAX控件工具包,但一旦它们开始要求使用ToolkitScriptManager,您在DNN方面就没有帮助了(尽管您在任何版本的DNN中都没有帮助,因为没有一种方法可以覆盖它使用的ScriptManager类型)。
从DNN 6开始,它们使用Telerik的RadScriptManager。以前,您可以修改核心代码以切换到ToolkitScriptManager,但现在切换可能会引起其他问题。

1
有没有办法在DNN6的一个安装中混合使用ASP.NET AJAX和RadScriptManager模块,或者我们只能使用DNN5? - Abel

1

它们可以一起工作,但您需要对DNN核心进行一些修改。

以下是要做的事情列表:

  • 检查您是否正在使用AjaxControlToolkit的最新版本.Net 4.0二进制文件(我能够让它与Telerik 2011.01.519和ACT September 2011 v4.1.50927一起在DNN 6.0.1上工作)
  • 检查您的web.config中是否有System.Web.ExtensionsSystem.Web.Extensions.Design的程序集绑定重定向到版本4.0
  • 获取DNN源包,在Library\Framework\AJAX.cs中找到AddScriptManager方法,在其中实例化RadScriptManager,在版本6.0.1中,请查看第54行。添加一个属性初始化器:EnableScriptCombine = false。编译它(当然是在发布配置中),将DotNetNuke.dll拖放到您的DNN安装中。

您应该完成了。

鸣谢Telerik support,尽管它声称从2010.1.625开始就应该开箱即用。不确定是我理解有误还是他们重新引入了这个错误。

P.S. DNN支持承诺将在11月发布6.1.0版本的更新Telerik控件,这应该可以解决这个问题,至少他们这么认为。


1

刚刚使用了nuke 6.1和jaxcontroltoolkit的最新版本——仍然出现同样的错误。 看起来它不再得到支持。真遗憾:(


奇怪,我升级到DNN 6.1.3后,我的AJAXToolkit工作正常了?您可以在此页面上查看 - http://www.pokerdiy.com/poker-league/lid/241/rods-sydney-poker-league.aspx(请注意 - 我已经有一段时间没有升级AJAX Toolkit!) - Rodney

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接