7

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

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

根据我找到的信息,这似乎与 Telerik 的控件冲突。但我没有找到任何信息如何解决它。

4

3 回答 3

3

您应该能够使用旧版本的 ASP.NET AJAX 控件工具包,但是一旦它们开始需要ToolkitScriptManager.一种覆盖它使用的类型的方法。ScriptManager

从 DNN 6 开始,他们使用 Telerik 的RadScriptManager. 以前,您可以修改核心代码以切换出 . ToolkitScriptManager,但现在切换出可能会导致其他问题。

于 2011-09-30T13:52:52.623 回答
1

刚刚检查了 nuke 6.1 和 jaxcontroltoolkit 的最新版本 - 仍然是同样的错误。好像不再支持了。伤心:(

于 2011-11-14T01:10:01.947 回答
1

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

这里列出了要做的事情:

  • 检查您是否使用的是最新版本的 .Net 4.0 二进制 AjaxControlToolkit(我能够让它适用于具有 Telerik 2011.01.519 和 ACT 2011 年 9 月 v4.1.50927 的 DNN 6.0.1)
  • 检查您的 web.config 中是否有针对 4.0 版的程序集System.Web.Extensions绑定System.Web.Extensions.Design重定向
  • 拿 DNN 源码包,find Library\Framework\AJAX.cs,locate 方法AddScriptManager,RadScriptManager 实例化,6.0.1 版本看第 54 行。再添加一个属性初始化器: EnableScriptCombine = false. 编译它(当然是在发布配置中),获取 DotNetNuke.dll 并放入您的 DNN 安装中。

你应该完成了。

归功于 Telerik 支持,尽管它在那里声明它应该从2010.1.625开始开箱即用。不确定,是我弄错了,还是他们只是重新引入了这个错误。

PS DNN 支持承诺在 11 月发布 6.1.0 版,其中包含更新的 Telerik 控件,至少在他们看来,这应该可以解决这个问题。

于 2011-10-04T17:17:11.873 回答