ckeditor загружает html код в редактор asp.net - PullRequest
0 голосов
/ 10 января 2012

Я пытаюсь загрузить html-файл в CKEditor на asp.net, но по какой-то причине я не знаю, как поместить html-код из кода, стоящего за файлом.

CKEditor1.FilebrowserBrowseUrl = url;
CKEditor1.BasePath = url;
CKEditor1.Text = content;

ничего из этого не помогло Любой совет? Заранее спасибо, Лазиале

Ответы [ 2 ]

0 голосов
/ 10 января 2012

Я не уверен, какую версию вы используете, но давайте предположим, что это 3.x.Я играл с контролем и не нашел никакого возможного способа сделать это из кода позади.Однако мне удалось заставить его работать так:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "fckInitialization", @" 
        window.onload = function () {              
                var oEditor = CKEDITOR.instances['" + txtPost.ClientID + @"'];
                oEditor.insertHtml('<strong>This is a bold text.</strong>');                
        };
        ", true);

Я попробовал это в IE 8 и последней версии Mozilla (я думаю, что это было 9), и это сработало.Я тоже попробовал то же самое, но вместо window.onload я использовал jQuery $ (document) .ready () , и он работал только в IE.Причина в том, что вам нужно ждать, пока все загрузится, чтобы использовать функции из API CKEditor.Я играл с Firebug и insertHTML работал.Если вы используете 2.x, вы можете увидеть где-то в Google тот же подход, но с другим API.Я просто не могу найти ссылку прямо сейчас.

Другая проблема будет здесь, как вы можете понять, что если вы хотите инициализировать длинный текст, вам придется написать все в сценарии, которыйне очень хорошо.

Возможно, для вас будет возможным сначала преобразовать HTML в BBCode, а затем просто установить свойство Text .Это, конечно, зависит от того, как вы используете элемент управления, потому что BBCode не содержит все возможные теги, но вы всегда можете изменить плагин bbcode CKEditor для удовлетворения ваших потребностей.И я проверил это, и он работает.

PS.Вероятно, вы можете сделать это с помощью метода JavaScript и вызова AJAX.

Надеюсь, это поможет!

0 голосов
/ 10 января 2012

Предполагая, что ckeditor инициализируется из поля текстовой области, вы можете просто заполнить тело текстовой области.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...