Настройка содержимого в 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, может быть одной из проблем. Другая вещь, которая может вызывать эту проблему - жизненный цикл страницы.