我使用的是07.02.01 DNN版本
如果我使用“超级用户帐户”登录,则效果很好。但是,如果我没有登录或使用其他帐户登录,则无法正常工作。
我尝试在Page_Load
方法的开头添加以下3行代码。
DotNetNuke.Framework.JavaScriptLibraries.JavaScript.RequestRegistration(DotNetNuke.Framework.JavaScriptLibraries.CommonJs.jQuery);
DotNetNuke.Framework.JavaScriptLibraries.JavaScript.RequestRegistration(DotNetNuke.Framework.JavaScriptLibraries.CommonJs.DnnPlugins);
DotNetNuke.UI.Utilities.ClientAPI.RegisterClientReference(this.Page, ClientAPI.ClientNamespaceReferences.dnn);
但是DotNetNuke.Framework
没有JavaScript库类,DotNetNuke.UI.Utilities
没有ClientAPI类。
我添加了这两行,但仍无效:
jQuery.RequestRegistration();
jQuery.RegisterScript(this.Page);
答案 0 :(得分:0)
确保加载jQuery。当您使用超级用户帐户登录时,将自动加载jQuery。
答案 1 :(得分:0)
我遇到了一个非常类似的问题,希望我找到的解决方案也能为您提供帮助。
我的问题是,我们在每个页面上都有一个内部开发的“联系我们”按钮,使用dnnModal.show
打开一个包含“联系我”表单的弹出窗口。
问题源于dnn.js没有被加载,这是弹出窗口所需要的,我也认为是警报。
我们的解决方案是将此添加到Page_Load
事件:
ClientAPI.RegisterClientReference(Page, ClientAPI.ClientNamespaceReferences.dnn);
请记住添加using / Import语句以导入DotNetNuke.UI.Utilities
命名空间。您还必须添加DotNetNuke.WebUtility
作为项目参考。