Quantcast
Viewing all articles
Browse latest Browse all 5678

HtmlEditorExtender Postback causes HTML tags to be displayed

Hi,

I'm dynamically generating a number of Textbox and HTMLEditorExtender controls to be added to a webpage through code behind. My goal is that when text/html is modified on the HTMLEditorExtender control that a postback occurs which triggers the text/html to be saved to a database. So far I have this process working using the OnContentChanged event and JavaScript.

However I have ran into quite a big problem with this approach, basically when a postback occurs any formatted/html text is then displayed as actual plain text instead of RichText e.g. if I enter "Hello World!" when a postback occurs this would then be displayed as "<b>Hello World!</b>" which defeats the purpose of having the HTMLEditorExtender in the first place. My code is below:

JavaScript:

<script type="text/javascript" src="../../Scripts/jquery-1.10.2.min.js"></script><script type="text/javascript">
    var tbxID;

    function onContentChanged() {
    alert(tbxID);
    //your code do postback.
    __doPostBack(tbxID, '');
    }

    $(function () {
        Sys.Application.add_load(function () {$('.ajax__html_editor_extender_texteditor').keyup(function () {
            //get the target id if a html_editor_extender keyup
            tbxID = $(this).parent().find("textarea").attr("id");
            });
        });
    })</script>

Code behind:

protected void Page_Load(object sender, EventArgs e)
{
    TextBox tbxElementCustomText = new TextBox();
    tbxElementCustomText.TextMode = TextBoxMode.MultiLine;
    tbxElementCustomText.Columns = 100;
    tbxElementCustomText.Rows = 25;            
    tbxElementCustomText.AutoPostBack = true;
    tbxElementCustomText.ID = "tbxElementCustomText";
    this.PlaceHolder1.Controls.Add(tbxElementCustomText);

    AjaxControlToolkit.HtmlEditorExtender htmlEditorExtender = new AjaxControlToolkit.HtmlEditorExtender();
    htmlEditorExtender.ID = "htmlEditExt";          
    htmlEditorExtender.TargetControlID = tbxElementCustomText.ID;
    htmlEditorExtender.EnableSanitization = false;
    htmlEditorExtender.DisplaySourceTab = true;
    htmlEditorExtender.OnClientChange = "onContentChanged";
    this.PlaceHolder1.Controls.Add(htmlEditorExtender);
}

If anyone knows of a solution so that the RichText is kept within the HTMLEditorExtender when a postback occurs it would be much appreciated.

Many thanks,

Daniel


Viewing all articles
Browse latest Browse all 5678

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>