使用javascrpt添加RadEditor:获取未终止的字符串文字错误

时间:2015-05-27 12:03:18

标签: javascript jquery rad-controls radeditor

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 += '&nbsp;';
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 个答案:

答案 0 :(得分:1)

    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;
    }

最终将返回的字符串存储在隐藏字段中(包含Radeditor的所有html)并在.aspx页面中获取值。

editCommentDiv + = hiddenfield.value ..

答案 1 :(得分:0)

ASP.NET AJAX的RadEditor是服务器控件,无法在客户端上创建。

您需要以声明方式将其放在页面上()或在后面的代码中创建它并将其添加到另一个控件的控件集合中。这是必需的,因为控件的所有HTML代码(工具栏,皮肤CSS等)都由服务器呈现并发送。