使用ckEditor工具栏按钮调用Asp.Net按钮单击事件

时间:2012-10-15 12:41:56

标签: asp.net ckeditor

我需要从ckeditor按钮到达我的代码隐藏点击事件。 我正在尝试使用此代码为我的自定义ckeditor按钮(函数(){

//Section 1 : Code to execute when the toolbar button is pressed
    var a = {
        exec: function (editor) {
            var testObj = editor.parentNode;
            var count = 1;
            while (testObj.getAttribute('id') != "form1") {
                testObj = testObj.parentNode;
            }
            testObj.getElementById('<%= btnUserControls.ClientID %>').click();
        }
    },
//Section 2 : Create the button and add the functionality to it
    b='usercontrols';
    CKEDITOR.plugins.add(b,{
        init:function(editor){
            editor.addCommand(b,a);
            editor.ui.addButton('usercontrols', {
                label:'User Controls',
                icon: this.path + 'ascx.png',
                command:b
            });
        }
    });
})();

但是我认为这段代码无法到达我的Asp.Net按钮。我错在哪里?感谢。

2 个答案:

答案 0 :(得分:1)

如果要为ASP.NET按钮调用服务器端单击事件,则需要执行如下脚本:__doPostBack('<%= btnUserControls.UniqueID %>', ''); 注意:必须使用UniqueID而不是ClientID。

答案 1 :(得分:0)

如果不知道你的 .aspx 代码,很难准确说出来,但很可能你的表单的id不是客户端的“form1”。您可以尝试像这样编写代码:

...
var a = {
    exec: function (editor) {
        document.getElementById('<%= btnUserControls.ClientID %>').clic();
    }
}
...

甚至是这样:

...
var a = {
    exec: function (editor) {
        __doPostBack('<%= btnUserControls.UniqueID %>', '');
    }
}
...