【问题标题】:Referencing the DNN editor from outsite a DNN solution从 DNN 解决方案外部引用 DNN 编辑器
【发布时间】:2013-04-03 14:14:42
【问题描述】:

我正在构建一个 DotNetNuke 模块,我需要包含 html 编辑器。但是,我的模块是一个独立的解决方案,xcopy 到我的 DNN 安装(我正在按照 Visual Studio 项目模板制作模块)。我见过的所有示例代码都像这样引用文本编辑器:

<%@ Register TagPrefix="dnn" TagName="TextEditor" Src="~/controls/TextEditor.ascx" %>

<dnn:TextEditor ID="txtDescription" runat="server" Width="100%" Height="300px" />

问题在于,由于模块是在 DNN 之外开发的,对 TextEditor 的引用显然会破坏构建。

B 计划是通过如下所示的占位符控件动态实例化编辑器:

EditorProvider editorProvider = new EditorProvider();
var control = editorProvider.HtmlEditorControl;

control.ID = "txtDescription";
phEditor.Controls.Add(control);

这种工作,但是大部分工具栏按钮都乱了!

DNN Editor bug

任何帮助将不胜感激!

【问题讨论】:

    标签: dotnetnuke dotnetnuke-module radeditor


    【解决方案1】:

    经过一番咒骂和头疼之后,我找到了只实例化用户控件而不是编辑器服务器控件的简单答案。

    var control = this.LoadControl("~/controls/TextEditor.ascx");
    control.ID = "txtDescription";
    phEditor.Controls.Add(control);
    

    【讨论】:

      【解决方案2】:

      我假设您正在为 dotnetnuke 开发自定义模块,您可以查看 codeplex.com 上blog module 源代码中的示例实现。 EditEntry.ascx 是包含相同示例的控件。

      基本上,您只需要引用 DotNetNuke.dll and DotNetNuke.WebControls.dll 即可使其在 ascx 声明中工作。

      【讨论】:

        【解决方案3】:

        http://www.dnnsoftware.com/forums/forumid/203/postid/466819/scope/posts 找到更好的答案 来自 Hristo Evtimov。

        他的方法让您可以向文本编辑器添加属性。

        他的代码:

        一种方法是这样的:

            DotNetNuke.UI.UserControls.TextEditor editor = (DotNetNuke.UI.UserControls.TextEditor)LoadControl("~/controls/texteditor.ascx");       
        editor.ID = "Editor1";
        this.Controls.Add(editor);
        

        我在 VB.NET 中的代码是这样的:

            Dim txtDescription As DotNetNuke.UI.UserControls.TextEditor = DirectCast(LoadControl("~/controls/texteditor.ascx"), DotNetNuke.UI.UserControls.TextEditor)
                txtDescription.ID = "txtAOneDescription" & intControlCounter.ToString
                txtDescription.HtmlEncode = False
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-27
          • 2011-11-18
          • 1970-01-01
          • 1970-01-01
          • 2022-12-13
          相关资源
          最近更新 更多