Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / web / ASP.NET

Change Background Color of Ajax HtmlEditorExtender using ColorPickerExtender

1 May 2014CPOL1 min read 17K   116  
In this blog, we will learn to change the Background Color of Ajax HtmlEditorExtender using ColorPickerExtender.

[Demo] Change Background Color of HtmlEditorExtender

[Demo] Change Background Color of HtmlEditorExtender

In this blog, we will learn to change the background color of Ajax HtmlEditorExtender using ColorPickerExtender.

Background

There was an question which eventually gave birth to this blog.

Here Comes the Logic

We have already discussed the logic in one of the previous blogs Set Content inside AJAX HTMLEditor and EditorExtender using JavaScript. We just need to find out the Edit Panel, that is the div, which is actually showing data for HtmlEditorExtender. Then, we can easily assign Selected Color of ColorPickerExtender to that div.

HTML
<div contenteditable="true"
     id="txtEditorDemo$HtmlEditorExtenderBehavior_ExtenderContentEditable"
     style="height: 80%; overflow: auto; clear: both;"
     class="ajax__html_editor_extender_texteditor">
</div>

Okay! Let’s Get Our Feet Wet

Get the ColorPickerExtender Selected Color

We can easily get the Selected color by handling the OnClientColorSelectionChanged Event of ColorPickerExtender. We can call a JavaScript function on this Event. Let’s see the markup.

ASP.NET
<asp:ColorPickerExtender runat="server" 
                         TargetControlID="txtSelectColor"
                         SampleControlID="sampleBodyColor"
                         PopupButtonID="txtSelectColor" 
                         OnClientColorSelectionChanged="colorChanged">
</asp:ColorPickerExtender>

So, the JavaScript function is colorChanged(). The following code would alert you the Selected Color.

JavaScript
function colorChanged(sender) {
    alert(sender.get_selectedColor());
}

Selected Color on Alert Box

Selected Color on Alert Box

Now, Let’s Get the HtmlEditorExtender and Change Its Background Color

There are two ways to do this:

  • Using Sys.Application $find Method

    First, find the HTMLEditorExtenderusing ID, then assign the Selected Color to the Background Color Property of its EditableDiv.

    JavaScript
    var htmlEditorExtender = $find("<%= heeEditorDemo.ClientID %>");
    htmlEditorExtender._editableDiv
                      .style
                      .backgroundColor = '#' + sender.get_selectedColor();
  • Using jQuery Class Selector

    Get the HTMLEditorExtender by its class name ajax__html_editor_extender_texteditor. Then set its Background Color by .css() Method.

    JavaScript
    var htmlEditorExtender = $('.ajax__html_editor_extender_texteditor');
    htmlEditorExtender.css('background-color', '#' + sender.get_selectedColor());

NOTE

Here, we have appended ‘#’ before the Selected Color. That is because Selected Color is only a Hex Number without the prefix ‘#’, as we can see on the screenshot above, where we have alerted the Selected Color.

Thanks !!!

For taking the time and reading the blog. If you find it useful, then share within your circle, by pressing the social icons.

Image 3 Image 4

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)