0

ASP.NET (v 3.6.4) 用の CKEditor のコントロールを使用して、Ckeditor が埋め込まれた *.ascx コントロールを取得しました。Link Button に接続された AjaxControolToolkit4.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 に答える