我正在构建一个 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);
这种工作,但大多数工具栏按钮都搞砸了!
任何帮助将不胜感激!