Настройка содержимого в RadEditor

Я посетил веб-сайт Telerik и посмотрел их демонстрации и т. Д. Но у меня возникают проблемы при попытке загрузить контент (html) в RadEditor.

У меня есть событие Button_Click, в котором я получаю строку html и затем устанавливаю ее в RadEditor. RadEditor находится внутри RadWindow и становится видимым только при нажатии кнопки.

        protected void btnSubmitHtml_Click(object sender, EventArgs e)
        {
            RadEditor1.Content = "<p>hello there</p>";
            RadWindow1.Visible = true;
        }

Это не показывает HTML внутри RadEditor по какой-то странной причине. Я подозреваю, что эта проблема связана с жизненным циклом страницы.

Есть какие-нибудь предложения, чтобы решить это?

3 ответа

Посмотрите здесь, чтобы увидеть, как заставить RadEditor работать в RadWindow: http://www.telerik.com/help/aspnet-ajax/window-troubleshooting-radeditor-in-radwindow.html.

Вкратце, вот что вам нужно иметь в событии OnClientShow RadWindow:

function OnClientShow()
{
    $find("<%=RadEditor1.ClientID %>").onParentNodeChanged();
}

Я сталкивался с этой проблемой несколько раз и никогда не находил "правильного" решения.

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

РЕДАКТИРОВАТЬ после комментария запросил ссылку

В основном все, что вам нужно, чтобы получить экземпляр редактора, используя функцию ASP.NET WebForms $find. Это берет html ID корня предоставленного объекта и возвращает viewModel на стороне клиента, если таковой существует.

Вызов $(setEditorInitialContent) в конце предполагает наличие jQuery и задерживает выполнение функции до загрузки страницы.

<telerik:radeditor runat="server" ID="RadEditor1">
   <Content>
       Here is sample content!
   </Content>
</telerik:radeditor>
<script type="text/javascript">
    function setEditorInitialContent() {
        var editor = $find("<%=RadEditor1.ClientID%>"); //get a reference to RadEditor client object
        editor.set_html("HEY THIS IS SOME CONTENT INTO YOUR EDITOR!!!!");
    }
    $(setEditorInitialContent);
</script>

Чтобы редактировать HTML-код только вы можете добавить -

EnableTextareaMode="true"

Добавьте это свойство в RadEditor.

Я подозреваю, что способ, которым элемент управления пытается интерпретировать HTML, может быть одной из проблем. Другая вещь, которая может вызывать эту проблему - жизненный цикл страницы.

Другие вопросы по тегам