0

我通过使用 CKEditor 的 ASP.NET 控件(v 3.6.4)嵌入了 Ckeditor 的 *.ascx 控件。我也有来自 AjaxControlToolkit4.5 的 ModalPopup 控件,附加到链接按钮。单击时,它会显示面板,其中在逻辑背后的一些代码的帮助下填充了单选按钮列表。

我应该如何更改我的 *.ascx 控件以在工具栏中有一个 CKEditor'a 插件按钮,触发这个 ModalPopup?

代码(不工作):

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="CKEditorWithModalPopup.ascx.cs" Inherits="Controls_CKEditorWithModalPopup" %>

<%@ Register Assembly="CKEditor.NET" Namespace="CKEditor.NET" TagPrefix="CKEditor" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>

<script type="text/javascript">

    $(function () {

        var a = {
            exec: function (editor) {
                javascript: __doPostBack('ctl03$LinkButton1', '') // explicite id for test
            }
        },

        b = 'modalPopup';

        CKEDITOR.plugins.add(b, {
            init: function (editor) {
                editor.addCommand(b, a);
                editor.ui.addButton("modalPopup", {
                    label: 'Modal Popup',
                    icon: "~/Images/modal_popup.png",
                    command: b
                });
            }
        });
    });

</script>

<CKEditor:CKEditorControl ID="CKEditor1" BasePath="~/ckeditor" Toolbar="Basic" runat="server" />

<ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender" runat="server" TargetControlID="LinkButton1"
        PopupControlID="Panel1" BackgroundCssClass="modalBackground" OkControlID="OkButton"
        CancelControlID="CancelButton" DropShadow="true" PopupDragHandleControlID="Panel3" />

<asp:LinkButton ID="LinkButton1" runat="server" Text="Click here to change the paragraph style" />

<asp:Panel ID="Panel1" runat="server" Style="display: none" CssClass="modalPopup">

    <asp:Panel ID="Panel3" runat="server" Style="cursor: move; background-color: #DDDDDD;
        border: solid 1px Gray; color: Black">
        <div>
            <p>
                Choose the phrase to insert:</p>
        </div>
    </asp:Panel>

    <asp:RadioButtonList ID="rbList" runat="server" />

    <p style="text-align: center;">
        <asp:Button ID="OkButton" runat="server" Text="OK" />
        <asp:Button ID="CancelButton" runat="server" Text="Cancel" />
    </p>

</asp:Panel>
4

1 回答 1

0

我为 CKEditor 模态弹出功能找到了更好的解决方案 - 我决定将其编写为 CKEditor 插件。这是更容易和可维护的方法。

使用自定义对话窗口创建 CKEditor 插件

此答案的目的是结束旧问题。

于 2013-03-29T18:04:07.260 回答