Добавление RadEditor с помощью javascrpt: получение неопределенной строковой литеральной ошибки
var editCommentDiv = '<div id="divTicketCommentHistoryEditor">';
editCommentDiv += '<br />';
editCommentDiv += '<telerik:RadEditor ID="editorCommentsHistory" runat="server" EditModes="Design" ToolbarMode="ShowOnFocus" ToolsWidth="170px" Width="412px" Height="72px"></telerik:RadEditor>';
editCommentDiv += '<div>';
editCommentDiv += '<input id="cbEditIsPrivate" type="checkbox" />Make Comment/Note Private';
editCommentDiv += ' ';
editCommentDiv += '<a href="javascript:void(0)" onclick="return editCommentSave();">Update</a>';
editCommentDiv += '<a href="javascript:void(0)" onclick="return editCommentCancel();">Cancel</a>';
editCommentDiv += '</div></div>';
Я получаю неопределенный строковый литерал здесь
<telerik:RadEditor ID="editorCommentsHistory" runat="server" EditModes="Design" ToolbarMode="ShowOnFocus" ToolsWidth="170px" Width="412px" Height="72px"></telerik:RadEditor>'
2 ответа
Решение
public string editor(){
RadEditor editor = new RadEditor();
editor.ID = "radeditor";
//provide all the properties and toolbar options
StringWriter sw = new StringWriter();
HtmlTextWriter htWriter =new HtmlTextWriter(sw);
editor.RegisterWithScriptManager = false;
this.Controls.Add(editor);
editor.RenderControl(htWriter);
string strRenderedHTML = sw.ToString();
return strRenderedHTML;
}
наконец, сохранил возвращенную строку в скрытом поле (содержит все html Radeditor) и получил значение на странице.aspx.
editCommentDiv + = hiddenfield.value..
RadEditor for ASP.NET AJAX является серверным элементом управления, и его нельзя создать на клиенте.
Вам нужно поместить его на странице декларативно () или создать в коде и добавить его в коллекцию элементов управления другого элемента управления. Это необходимо, поскольку весь HTML-код элемента управления (панели инструментов, CSS-оболочка и т. Д.) Отображается и отправляется сервером.