<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">CJ de Vos</title><subtitle type="html">Programming solutions with ASP.Net
</subtitle><id>http://weblogs.asp.net/cjdevos/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/cjdevos/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/cjdevos/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2008-03-03T21:18:00Z</updated><entry><title>AJAX Extender for TinyMCE continued</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/cjdevos/archive/2008/06/19/ajax-extender-for-tinymce-continued.aspx" /><id>http://weblogs.asp.net/cjdevos/archive/2008/06/19/ajax-extender-for-tinymce-continued.aspx</id><published>2008-06-19T13:10:00Z</published><updated>2008-06-19T13:10:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri size=3&gt;The code for this article and a sample website can be downloaded &lt;A href="http://weblogs.asp.net/blogs/cjdevos/downloads/tinymcetextboxextender/tinymcetextboxextender_2.0.zip"&gt;here&lt;/A&gt;. An online version of the sample website can also be found at &lt;/FONT&gt;&lt;/B&gt;&lt;A href="http://www.cdevos.nl/examples/example1.aspx" mce_href="http://www.cdevos.nl/examples/example1.aspx"&gt;&lt;FONT face=Calibri color=#800080 size=3&gt;http://www.cdevos.nl/examples/example1.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri size=3&gt;.&lt;/FONT&gt;&lt;/B&gt;&lt;SPAN class=apple-style-span&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 115%; FONT-FAMILY: 'Lucida Grande','serif'"&gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri size=3&gt;This article is a continuation of the previous AJAX Extender for TinyMCE which can be found &lt;/FONT&gt;&lt;/B&gt;&lt;A href="http://weblogs.asp.net/cjdevos/archive/2008/03/03/ajax-extender-for-tinymce-including-fix-for-updatepanels.aspx" mce_href="http://weblogs.asp.net/cjdevos/archive/2008/03/03/ajax-extender-for-tinymce-including-fix-for-updatepanels.aspx"&gt;&lt;FONT face=Calibri size=3&gt;http://weblogs.asp.net/cjdevos/archive/2008/03/03/ajax-extender-for-tinymce-including-fix-for-updatepanels.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The download provided does not contain tinymce. Please download it seperately.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;After I published the previous AJAX Extender it got quite some attention, questions and remarks and was obviously wanted by the community. Because of this reason and my own frustrations with the limitations of the current extender I used some spare time to create a new version with options to easily configure a tinymce editor on any textarea element, totally independent of the other element.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;The results of all the work can be found in the sample website.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;All there is to adding a tinymce editor to any textarea element looks like:&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: #dddddd 1pt solid; PADDING-RIGHT: 2pt; BORDER-TOP: #dddddd 1pt solid; PADDING-LEFT: 2pt; BACKGROUND: white; PADDING-BOTTOM: 2pt; BORDER-LEFT: #dddddd 1pt solid; PADDING-TOP: 2pt; BORDER-BOTTOM: #dddddd 1pt solid; mso-element: para-border-div; mso-border-alt: solid #DDDDDD .75pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;asp:textbox&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;="server"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;TextMode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;="MultiLine"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;id&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;="Textbox1"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;="This is some content that will be editable with TinyMCE."&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;/&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;tm:TinyMCETextBoxExtender&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;="TinyMCETextBoxExtender1"&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;="server"&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;TargetControlId&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;="content"&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt; 
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Customization of the control can be obtained by using the InitList property and adding the elements much like:&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: #dddddd 1pt solid; PADDING-RIGHT: 2pt; BORDER-TOP: #dddddd 1pt solid; PADDING-LEFT: 2pt; BACKGROUND: white; PADDING-BOTTOM: 2pt; BORDER-LEFT: #dddddd 1pt solid; PADDING-TOP: 2pt; BORDER-BOTTOM: #dddddd 1pt solid; mso-element: para-border-div; mso-border-alt: solid #DDDDDD .75pt"&gt;&lt;PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; BACKGROUND: white; PADDING-BOTTOM: 0in; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none; mso-border-alt: solid #DDDDDD .75pt; mso-padding-alt: 2.0pt 2.0pt 2.0pt 2.0pt"&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;asp:textbox&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;runat&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="server"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;TextMode&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="MultiLine"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;id&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="content"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Text&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="This is some content that will be editable with TinyMCE."&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; BACKGROUND: white; PADDING-BOTTOM: 0in; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none; mso-border-alt: solid #DDDDDD .75pt; mso-padding-alt: 2.0pt 2.0pt 2.0pt 2.0pt"&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;tm:TinyMCETextBoxExtender&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;ID&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="TinyMCETextBoxExtender1"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;runat&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="server"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;TargetControlId&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="content"&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Theme&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="advanced"&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;o:p&gt;&amp;nbsp;&lt;BR&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;InitList&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;tm:TinyMCETextBoxInit&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Var&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="Plugins"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Value&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;/&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;tm:TinyMCETextBoxInit&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Var&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="Theme_Advanced_Buttons1"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Value&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright, justifyfull,bullist,numlist,undo,redo,link,unlink"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;/&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;tm:TinyMCETextBoxInit&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Var&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="Theme_Advanced_Buttons2"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Value&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;=""&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;/&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;tm:TinyMCETextBoxInit&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Var&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="Theme_Advanced_Buttons3"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Value&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;=""&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;/&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;tm:TinyMCETextBoxInit&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Var&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="Theme_Advanced_Buttons4"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Value&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;=""&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;/&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;tm:TinyMCETextBoxInit&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Var&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="Theme_Advanced_Toolbar_Location"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Value&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="Top"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;/&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;tm:TinyMCETextBoxInit&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Var&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="Theme_Advanced_Toolbar_Align"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Value&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="Left"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;/&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;tm:TinyMCETextBoxInit&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Var&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="Theme_Advanced_Statusbar_Location"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Value&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="Bottom"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;/&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;tm:TinyMCETextBoxInit&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Var&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="Extended_Valid_Elements"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Value&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;/&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;InitList&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;tm:TinyMCETextBoxExtender&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;And it gets even better when you put the above in a .skin file&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: #dddddd 1pt solid; PADDING-RIGHT: 2pt; BORDER-TOP: #dddddd 1pt solid; PADDING-LEFT: 2pt; BACKGROUND: white; PADDING-BOTTOM: 2pt; BORDER-LEFT: #dddddd 1pt solid; PADDING-TOP: 2pt; BORDER-BOTTOM: #dddddd 1pt solid; mso-element: para-border-div; mso-border-alt: solid #DDDDDD .75pt"&gt;&lt;PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; BACKGROUND: white; PADDING-BOTTOM: 0in; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none; mso-border-alt: solid #DDDDDD .75pt; mso-padding-alt: 2.0pt 2.0pt 2.0pt 2.0pt"&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;asp:textbox&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;runat&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="server"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;TextMode&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="MultiLine"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;id&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="content"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;Text&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="This is some content that will be editable with TinyMCE."&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;/&amp;gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;&amp;lt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: maroon; FONT-FAMILY: Consolas"&gt;tm:TinyMCETextBoxExtender&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;ID&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="TinyMCETextBoxExtender1"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;runat&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="server"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;TargetControlId&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="content"&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=attr&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: red; FONT-FAMILY: Consolas"&gt;SkinID&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;="CustomSkin"&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: Consolas"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: Consolas"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6295640" width="1" height="1"&gt;</content><author><name>siets</name><uri>http://weblogs.asp.net/members/siets.aspx</uri></author><category term="ajax" scheme="http://weblogs.asp.net/cjdevos/archive/tags/ajax/default.aspx" /><category term="asp.net" scheme="http://weblogs.asp.net/cjdevos/archive/tags/asp.net/default.aspx" /><category term="tinymce" scheme="http://weblogs.asp.net/cjdevos/archive/tags/tinymce/default.aspx" /><category term="updatepanel" scheme="http://weblogs.asp.net/cjdevos/archive/tags/updatepanel/default.aspx" /></entry><entry><title>ASP.Net AJAX TooltipExtender</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/cjdevos/archive/2008/03/29/asp-net-ajax-tooltipextender.aspx" /><id>http://weblogs.asp.net/cjdevos/archive/2008/03/29/asp-net-ajax-tooltipextender.aspx</id><published>2008-03-29T19:59:00Z</published><updated>2008-03-29T19:59:00Z</updated><content type="html">
&lt;p&gt;&lt;b&gt;This article provides an ASP.Net AJAX TooltipExtender. The
code and sample website can be downloaded here (&lt;/b&gt;&lt;a href="http://weblogs.asp.net/blogs/cjdevos/TooltipWebsite.zip" mce_href="http://weblogs.asp.net/blogs/cjdevos/TooltipWebsite.zip"&gt;TooltipWebsite.zip&lt;/a&gt;&lt;b&gt;).&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Due to the ASP.Net AjaxControlToolkit I have become very
fond of small and usable components which improve overall user experience. The ControlToolkit
contains - and lacks - several very usable components.&lt;/p&gt;


&lt;p&gt;One component I would love to see would be a TooltipExtender
– allowing for both static and dynamic text, allows animations and can be
customized where it is required.&lt;/p&gt;


&lt;p&gt;In an attempt to match this kind of functionality I made a TooltipExtender.
The only functionality lacking is animation.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://weblogs.asp.net/blogs/cjdevos/tooltip_example.gif" mce_href="http://weblogs.asp.net/blogs/cjdevos/tooltip_example.gif"&gt;&lt;img src="http://weblogs.asp.net/blogs/cjdevos/tooltip_example.gif" mce_src="http://weblogs.asp.net/blogs/cjdevos/tooltip_example.gif" border="0"&gt;&lt;/a&gt;&lt;br&gt;&lt;a href="http://weblogs.asp.net/blogs/cjdevos/TooltipWebsite.zip" mce_href="http://weblogs.asp.net/blogs/cjdevos/TooltipWebsite.zip"&gt;&lt;br&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Static&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tt:TooltipExtender&lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;    &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="TooltipExtender1"&lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="lblStatic"&lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    &lt;span class="attr"&gt;Delay&lt;/span&gt;&lt;span class="kwrd"&gt;="1"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    &lt;span class="attr"&gt;Direction&lt;/span&gt;&lt;span class="kwrd"&gt;="Left"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    &lt;span class="attr"&gt;TooltipWidth&lt;/span&gt;&lt;span class="kwrd"&gt;="300"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TooltipTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;Ut ut nunc. Mauris et sem et est semper cursus. Ut rutrum &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;dapibus nisl. Vestibulum sit amet lacus. Aliquam ut pede ut enim &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;pharetra scelerisque. Sed pharetra. Etiam eget elit vel nulla &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;iaculis porttitor. Sed nec quam. Sed semper gravida dolor. Nullam &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;dignissim pede ac nisl. Fusce viverra pharetra quam.&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ul&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.microsoft.com"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Microsoft&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.apple.com"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Apple&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ul&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;TooltipTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;tt:TooltipExtender&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;


&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;div class="csharpcode"&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;b&gt;Dynamic&lt;/b&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;tt:TooltipExtender&lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;    &lt;span class="attr"&gt;Direction&lt;/span&gt;&lt;span class="kwrd"&gt;="Bottom"&lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="attr"&gt;ServiceMethod&lt;/span&gt;&lt;span class="kwrd"&gt;="DynamicPopulateMethod"&lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    &lt;span class="attr"&gt;CacheDynamicResults&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="tt1"&lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    &lt;span class="attr"&gt;Delay&lt;/span&gt;&lt;span class="kwrd"&gt;="100"&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    &lt;span class="attr"&gt;TargetControlID&lt;/span&gt;&lt;span class="kwrd"&gt;="lblDynamic"&lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;    &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;b&gt;Properties&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;
 &lt;li&gt;&lt;i&gt;TargetControlID&lt;/i&gt;: id of target control.&lt;/li&gt;
 &lt;li&gt;&lt;i&gt;Delay&lt;/i&gt;: How much ms before the item is shown (handy for webservice calls).&lt;/li&gt;
 &lt;li&gt;&lt;i&gt;Direction&lt;/i&gt;: Left, Right, Top or Bottom.&lt;/li&gt;
 &lt;li&gt;&lt;i&gt;TooltipWidth&lt;/i&gt;: Width of the tooltip.&lt;/li&gt;
 &lt;li&gt;&lt;i&gt;ServiceMethod&lt;/i&gt;: Pagemethod for servicecall (same as other pagemethods – like from the DynamicPopulateExtender).&lt;/li&gt;
 &lt;li&gt;&lt;i&gt;ServicePath&lt;/i&gt;: Path to webservice.&lt;/li&gt;
 &lt;li&gt;&lt;i&gt;CustomScript&lt;/i&gt;: Method of webservice.&lt;/li&gt;
 &lt;li&gt;&lt;i&gt;CacheDynamicResults&lt;/i&gt;: Should results be cached.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;CJ.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6046660" width="1" height="1"&gt;</content><author><name>siets</name><uri>http://weblogs.asp.net/members/siets.aspx</uri></author><category term="ajax" scheme="http://weblogs.asp.net/cjdevos/archive/tags/ajax/default.aspx" /><category term="asp.net" scheme="http://weblogs.asp.net/cjdevos/archive/tags/asp.net/default.aspx" /><category term="Tooltip" scheme="http://weblogs.asp.net/cjdevos/archive/tags/Tooltip/default.aspx" /></entry><entry><title>ASP.Net Paginator Control</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/cjdevos/archive/2008/03/19/asp-net-paginator-control.aspx" /><id>http://weblogs.asp.net/cjdevos/archive/2008/03/19/asp-net-paginator-control.aspx</id><published>2008-03-19T09:42:00Z</published><updated>2008-03-19T09:42:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;&lt;STRONG&gt;A paginator is often used as a means to navigate through pages. These pages can contain anything you would want. Examples are a) paging through the results of a query or b) paging through a report and c) etc. This article provides the code and a description for a paginator control in ASP.Net and uses the example of paging through results to illustrate how to use this control.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Download the code here (&lt;A href="http://weblogs.asp.net/blogs/cjdevos/downloads/paginator.zip"&gt;&lt;STRONG&gt;paginator.zip&lt;/STRONG&gt;&lt;/A&gt;)&lt;/P&gt;
&lt;P mce_keep="true"&gt;I’m assuming everybody already knows what paging exactly is - but if you really don’t know you should look at &lt;A href="http://www.google.com/" mce_href="http://www.google.com/"&gt;http://www.google.com/&lt;/A&gt; (thank you for the visitors!)&amp;nbsp;&amp;nbsp; A quick glance at Google reduces the methods to implement paging into the following two:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;retrieve total number of items&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;retrieve the requested subset of items&amp;nbsp; &lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;As a bit of a side-track, the following code is how I usually retrieve and bind my data for paging:&lt;/P&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   1:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;private&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; BindFooList(&lt;SPAN class=kwrd&gt;int&lt;/SPAN&gt; _PageIndex){ &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   2:  &lt;/SPAN&gt;      &lt;SPAN class=kwrd&gt;int&lt;/SPAN&gt; totalrecords = 0; &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   3:  &lt;/SPAN&gt;      &lt;SPAN class=kwrd&gt;int&lt;/SPAN&gt; pagesize = 10; &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   4:  &lt;/SPAN&gt;      System.Collections.Generic.List&amp;lt;Foo&amp;gt; l = FooService.GetFooList(pagesize, _PageIndex, &lt;SPAN class=kwrd&gt;out&lt;/SPAN&gt; totalrecords); &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   5:  &lt;/SPAN&gt;      rptFooList.DataSource = l; &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   6:  &lt;/SPAN&gt;      rptFooList.DataBind();&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   7:  &lt;/SPAN&gt;}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;As you can see I use a pagesize and a pageindex parameter to specify how many results a page contains and which page I want to retrieve. The totalrecords (out) returns the total number of items found, which, of course, is, usually, different than the number of items actually returned. In the future I will add at least one article about how to limit the number of items returned by the function. The paginator control is specified as:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   1:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;cc1:Paginator&lt;/SPAN&gt; &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   2:  &lt;/SPAN&gt;              &lt;SPAN class=attr&gt;ID&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;pagFooList&lt;/SPAN&gt;” &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   3:  &lt;/SPAN&gt;              &lt;SPAN class=attr&gt;PageSize&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;10&lt;/SPAN&gt;? &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   4:  &lt;/SPAN&gt;              &lt;SPAN class=attr&gt;PageRadius&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;4&lt;/SPAN&gt;? &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   5:  &lt;/SPAN&gt;              &lt;SPAN class=attr&gt;TotalRecords&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;52&lt;/SPAN&gt;? &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   6:  &lt;/SPAN&gt;              &lt;SPAN class=attr&gt;AllowPageSizeChange&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;false&lt;/SPAN&gt;” &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   7:  &lt;/SPAN&gt;              &lt;SPAN class=attr&gt;FinishButtonVisible&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;true&lt;/SPAN&gt;” &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   8:  &lt;/SPAN&gt;              &lt;SPAN class=attr&gt;FirstButtonTitle&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;first&lt;/SPAN&gt;” &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   9:  &lt;/SPAN&gt;              &lt;SPAN class=attr&gt;NextButtonTitle&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;next&lt;/SPAN&gt;” &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  10:  &lt;/SPAN&gt;              &lt;SPAN class=attr&gt;PreviousButtonTitle&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;previous&lt;/SPAN&gt;” &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  11:  &lt;/SPAN&gt;              &lt;SPAN class=attr&gt;LastButtonTitle&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;last&lt;/SPAN&gt;” &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  12:  &lt;/SPAN&gt;              &lt;SPAN class=attr&gt;InfoResultsPerPage&lt;/SPAN&gt;=”# &lt;SPAN class=attr&gt;of&lt;/SPAN&gt; &lt;SPAN class=attr&gt;Foo&lt;/SPAN&gt; &lt;SPAN class=attr&gt;per&lt;/SPAN&gt; &lt;SPAN class=attr&gt;page&lt;/SPAN&gt;” &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  13:  &lt;/SPAN&gt;              &lt;SPAN class=attr&gt;ResultInfoFormatString&lt;/SPAN&gt;=”{&lt;SPAN class=attr&gt;0&lt;/SPAN&gt;} &lt;SPAN class=attr&gt;-&lt;/SPAN&gt; {&lt;SPAN class=attr&gt;1&lt;/SPAN&gt;} &lt;SPAN class=attr&gt;of&lt;/SPAN&gt; {&lt;SPAN class=attr&gt;2&lt;/SPAN&gt;}” &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  14:  &lt;/SPAN&gt;              &lt;SPAN class=attr&gt;runat&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;server&lt;/SPAN&gt;” &lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Properties&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;PageSize&lt;/EM&gt;: How many results are shown on a page&lt;BR&gt;&lt;EM&gt;PageRadius&lt;/EM&gt;: The radius of the number of pages a user can click through &lt;BR&gt;&lt;EM&gt;TotalRecords&lt;/EM&gt;: Total number of items &lt;BR&gt;&lt;EM&gt;AllowPageSizeChange&lt;/EM&gt;: Allow the user to change the number of items displayed &lt;BR&gt;&lt;EM&gt;FinishButtonVisible&lt;/EM&gt;: After the last page allow for a finish button to close the paging &lt;BR&gt;&lt;EM&gt;InfoResultsPerPage&lt;/EM&gt;: The text of the label to change the number of items per page &lt;BR&gt;&lt;EM&gt;ResultInfoFormatString&lt;/EM&gt;: Formatstring of the information label&amp;nbsp; 0) index of first item shown 1) index of last item shown 2) total number of results&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Events&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;GoToPage&lt;/EM&gt;: issued when a new page is requested through the paginator. &lt;BR&gt;&lt;EM&gt;PageSizeChanged&lt;/EM&gt;: issued when the page size is changed by the user. &lt;BR&gt;&lt;EM&gt;Finish&lt;/EM&gt;: issued when the user hits the finish button. &lt;/P&gt;
&lt;P mce_keep="true"&gt;When only the control code is written in the .aspx file the paginator will already show up – and after a DataBind() the paginator will display the requested pages. The only thing left to do is to implement the actual paging in the codebehind. We still want to page through our results - right?&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   1:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;private&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; BindFooList(&lt;SPAN class=kwrd&gt;int&lt;/SPAN&gt; _PageIndex)&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   2:  &lt;/SPAN&gt;{ &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   3:  &lt;/SPAN&gt;      &lt;SPAN class=kwrd&gt;int&lt;/SPAN&gt; totalrecords = 0; &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   4:  &lt;/SPAN&gt;      System.Collections.Generic.List&amp;lt;Foo&amp;gt; l = FooService.GetFooList(pagFooList.PageSize, _PageIndex, &lt;SPAN class=kwrd&gt;out&lt;/SPAN&gt; totalrecords); &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   5:  &lt;/SPAN&gt;      rptFooList.DataSource = l; &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   6:  &lt;/SPAN&gt;      rptFooList.DataBind(); &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   7:  &lt;/SPAN&gt;      pagFooList.PageIndex = _PageIndex; &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   8:  &lt;/SPAN&gt;      pagFooList.TotalRecords = totalrecords; &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   9:  &lt;/SPAN&gt;      pagFooList.DataBind(); &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  10:  &lt;/SPAN&gt;} &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  11:  &lt;/SPAN&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  12:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;protected&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;override&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; OnInit(EventArgs e) &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  13:  &lt;/SPAN&gt;{ &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  14:  &lt;/SPAN&gt;      pagFooList.GoToPage += &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; PaginatorEventHandler(pagFooList_GoToPage); &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  15:  &lt;/SPAN&gt;      pagFooList.PageSizeChanged += &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; EventHandler(pagFooList_PageSizeChanged); &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  16:  &lt;/SPAN&gt;      &lt;SPAN class=kwrd&gt;base&lt;/SPAN&gt;.OnInit(e); &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  17:  &lt;/SPAN&gt;} &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  18:  &lt;/SPAN&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  19:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; pagFooList_PageSizeChanged(&lt;SPAN class=kwrd&gt;object&lt;/SPAN&gt; sender, EventArgs e) &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  20:  &lt;/SPAN&gt;{ &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  21:  &lt;/SPAN&gt;      BindFooList(0); &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  22:  &lt;/SPAN&gt;} &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  23:  &lt;/SPAN&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  24:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; pagFooList_GoToPage(&lt;SPAN class=kwrd&gt;object&lt;/SPAN&gt; sender, PaginatorEventArgs e) &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  25:  &lt;/SPAN&gt;{ &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  26:  &lt;/SPAN&gt;      BindFooList(e.NewPage); &lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  27:  &lt;/SPAN&gt;}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Download the whole website (&lt;A href="http://weblogs.asp.net/blogs/cjdevos/downloads/paginator.zip"&gt;&lt;STRONG&gt;paginator.zip&lt;/STRONG&gt;&lt;/A&gt;) and please let me know if it was useful to you!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Cheers.&lt;/P&gt;
&lt;P mce_keep="true"&gt;CJ.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5998244" width="1" height="1"&gt;</content><author><name>siets</name><uri>http://weblogs.asp.net/members/siets.aspx</uri></author><category term="asp.net" scheme="http://weblogs.asp.net/cjdevos/archive/tags/asp.net/default.aspx" /><category term="Paginator" scheme="http://weblogs.asp.net/cjdevos/archive/tags/Paginator/default.aspx" /><category term="Paging" scheme="http://weblogs.asp.net/cjdevos/archive/tags/Paging/default.aspx" /><category term="Repeater" scheme="http://weblogs.asp.net/cjdevos/archive/tags/Repeater/default.aspx" /></entry><entry><title>ASP.Net Output Once Control</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/cjdevos/archive/2008/03/03/asp-net-output-once-control.aspx" /><id>http://weblogs.asp.net/cjdevos/archive/2008/03/03/asp-net-output-once-control.aspx</id><published>2008-03-03T21:19:00Z</published><updated>2008-03-03T21:19:00Z</updated><content type="html">&lt;p&gt;&lt;b&gt;This is an article about outputting data to the browser only
once, specifying where it should be outputted. The result
is a control that can write out a single script to the header of the
.aspx file (as an example). This control can be downloaded at &lt;a href="http://weblogs.asp.net/blogs/cjdevos/downloads/outputonce.zip" mce_href="http://weblogs.asp.net/blogs/cjdevos/downloads/outputonce.zip"&gt;outputonce.zip&lt;/a&gt;.&lt;/b&gt;&lt;br&gt;
&lt;br&gt;
While programming for the web I often find the need to have some output
sent to the client only once. A simple example is to include a
javascript file – or function – when it is required. This output need
usually arises while developing (dynamic) usercontrols.&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Problem setting&lt;/b&gt;&lt;br&gt;
1. Imagine a couple of usercontrols using the prototype.js file. The
usercontrols are not always loaded and there is thus no need to include
this file always and everywhere (don’t include it in the masterpage).&lt;br&gt;
&lt;br&gt;
2. Imagine a repeater with formfields and some dynamic calculations
using a javascripted function. When the repeater does not contain any
data – there is no need to include the javascript function.&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Solution&lt;/b&gt;&lt;br&gt;
As an attempt to fix these issues I created a small control named
OutputOnce. This control makes use of a property called OutputKey and
the Page.ClientScript.IsClientScriptBlockRegistered and
Page.ClientScript.RegisterClientScriptBlock functions to ensure that
the script will only be rendered once. Additionally the control
contains an OutputLocation property to specify if the data should be
rendered INLINE or in the HEAD.&lt;br&gt;
&lt;br&gt;
The ASP.Net code will look like&lt;br&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;/p&gt;&lt;div class="csharpcode"&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;uc:OutputOnce&lt;/span&gt; &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;    &lt;span class="attr"&gt;ID&lt;/span&gt;=”&lt;span class="attr"&gt;outputonce&lt;/span&gt;” &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="attr"&gt;OutputKey&lt;/span&gt;=”&lt;span class="attr"&gt;prototype&lt;/span&gt;” &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    &lt;span class="attr"&gt;OutputLocation&lt;/span&gt;=”&lt;span class="attr"&gt;Head&lt;/span&gt;” &lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    &lt;span class="attr"&gt;runat&lt;/span&gt;=”&lt;span class="attr"&gt;server&lt;/span&gt;”&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;=”&lt;span class="attr"&gt;text&lt;/span&gt;/&lt;span class="attr"&gt;javascript&lt;/span&gt;” &lt;span class="attr"&gt;src&lt;/span&gt;=”&lt;span class="attr"&gt;prototype&lt;/span&gt;.&lt;span class="attr"&gt;js&lt;/span&gt;”&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;uc:OutputOnce&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;br&gt;
Please find the code for this control at the top of this page. Known issues:&lt;br&gt;
1. It is not possible to send the AjaxScriptManager to the HEAD.&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&lt;br&gt;
&lt;br&gt;
Good luck, and please let me know of any issues.&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5908014" width="1" height="1"&gt;</content><author><name>siets</name><uri>http://weblogs.asp.net/members/siets.aspx</uri></author><category term="asp.net" scheme="http://weblogs.asp.net/cjdevos/archive/tags/asp.net/default.aspx" /><category term="output data" scheme="http://weblogs.asp.net/cjdevos/archive/tags/output+data/default.aspx" /><category term="head" scheme="http://weblogs.asp.net/cjdevos/archive/tags/head/default.aspx" /></entry><entry><title> AJAX Extender for TinyMCE. Including fix for UpdatePanels.</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/cjdevos/archive/2008/03/03/ajax-extender-for-tinymce-including-fix-for-updatepanels.aspx" /><id>http://weblogs.asp.net/cjdevos/archive/2008/03/03/ajax-extender-for-tinymce-including-fix-for-updatepanels.aspx</id><published>2008-03-03T20:18:00Z</published><updated>2008-03-03T20:18:00Z</updated><content type="html">&lt;P&gt;&lt;B&gt;The information in this article is no longer valid. Please&amp;nbsp;go to the new version found at &lt;SPAN class=Apple-style-span style="WORD-SPACING: 0px; FONT: 12px 'Lucida Grande'; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: pre; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0"&gt;&lt;A href="http://weblogs.asp.net/cjdevos/archive/2008/06/19/ajax-extender-for-tinymce-continued.aspx"&gt;http://weblogs.asp.net/cjdevos/archive/2008/06/19/ajax-extender-for-tinymce-continued.aspx&lt;/A&gt;. The current downloads are removed.&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;A while ago I was looking for a usable editor in one of the web applications I am working on. There are quite a few alternatives but I ended up picking TinyMCE.&lt;BR&gt;TinyMCE is a very easy to use editor. Both for users and developers. It's great to write 1 small line of code to have textareas turned automatically into usable editors!&lt;BR&gt;&lt;BR&gt;Using TinyMCE would be like:&lt;BR&gt;&lt;/P&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   1:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;script&lt;/SPAN&gt; &lt;SPAN class=attr&gt;type&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;text&lt;/SPAN&gt;/&lt;SPAN class=attr&gt;javascript&lt;/SPAN&gt;” &lt;SPAN class=attr&gt;src&lt;/SPAN&gt;=”/&lt;SPAN class=attr&gt;tinymce&lt;/SPAN&gt;/&lt;SPAN class=attr&gt;jscripts&lt;/SPAN&gt;/&lt;SPAN class=attr&gt;tiny_mce&lt;/SPAN&gt;/&lt;SPAN class=attr&gt;tiny_mce&lt;/SPAN&gt;.&lt;SPAN class=attr&gt;js&lt;/SPAN&gt;”&lt;SPAN class=kwrd&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;script&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   2:  &lt;/SPAN&gt;&amp;lt;script type=”text/javascript”&amp;gt;tinyMCE.init({mode : ‘textareas’, theme : ’simple’});&lt;SPAN class=kwrd&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=html&gt;script&lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR&gt;However – this control actually turned into a small nightmare when textareas lived INSIDE an UpdatePanel.&lt;BR&gt;&lt;BR&gt;Some of the problems:&lt;BR&gt;1. After an asynchronous postback the editor was gone.&lt;BR&gt;2. Values were not submitted to the server.&lt;BR&gt;&lt;BR&gt;When searching the web for these issues, you’d find several links which would help you out a bit. Some of the solutions where:&lt;BR&gt;&lt;BR&gt;a. before the postback is made the following statement must be issued: tinyMCE.saveTrigger(false, true);&lt;BR&gt;b. issue an mceAddControl after the postback is finished.&lt;BR&gt;c. Issue an mceRemoveControl before the postback starts.&lt;BR&gt;d. Reset the idCounter to 0.&lt;BR&gt;&lt;BR&gt;Only part d. was absolutely incorrect. It can lead to strange behaviors with textareas both inside and outside an updatepanel.&lt;BR&gt;&lt;BR&gt;For my solution I took part of the input given by steho706 (http://forums.asp.net/members/steho706.aspx) in the discussion at http://forums.asp.net/p/1131150/2154829.aspx. He actually nailed the problem by mentioning the mceRemoveControl statement with the right event.&lt;BR&gt;For me, however, the solution had one drawback. Textareas which were not inside an UpdatePanel refreshed as well…&lt;BR&gt;&lt;BR&gt;And to nail this particular issue I decided to write an AJAX Control Extension, which you can find attached to this article.&lt;BR&gt;&lt;BR&gt;The control will be usable by writing the following code:&lt;BR&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   1:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;asp:TextBox&lt;/SPAN&gt; &lt;SPAN class=attr&gt;ID&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;TextBox1&lt;/SPAN&gt;″ &lt;SPAN class=attr&gt;runat&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;server&lt;/SPAN&gt;” &lt;SPAN class=attr&gt;Width&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;100&lt;/SPAN&gt;%” &lt;SPAN class=attr&gt;Height&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;200&lt;/SPAN&gt;″ &lt;SPAN class=attr&gt;TextMode&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;MultiLine&lt;/SPAN&gt;” &lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   2:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=html&gt;cc:TinyMCETextBoxExtender&lt;/SPAN&gt; &lt;SPAN class=attr&gt;TargetControlID&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;txtTextBox1&lt;/SPAN&gt;” &lt;SPAN class=attr&gt;ID&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;TinyMCETextBoxExtender1&lt;/SPAN&gt;″ &lt;SPAN class=attr&gt;runat&lt;/SPAN&gt;=”&lt;SPAN class=attr&gt;server&lt;/SPAN&gt;” &lt;SPAN class=kwrd&gt;/&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR&gt;&lt;BR&gt;For completeness sake here are excerpts of the code as well:&lt;BR&gt;&lt;BR&gt;From the Behavior&amp;nbsp;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt; 
&lt;DIV class=csharpcode&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   1:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.registerPartialUpdateEvents();&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   2:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;._pageLoadingHandler = Function.createDelegate(&lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;, &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;._pageLoading);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   3:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;._pageRequestManager.add_pageLoading(&lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;._pageLoadingHandler);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   4:  &lt;/SPAN&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   5:  &lt;/SPAN&gt;var element = &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.get_element();&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   6:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (tinyMCE.getInstanceById(element.id) == &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt; || tinyMCE.getInstanceById(element.id) == “undefined”)&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   7:  &lt;/SPAN&gt;    tinyMCE.execCommand(‘mceAddControl’,&lt;SPAN class=kwrd&gt;false&lt;/SPAN&gt;,element.id);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   8:  &lt;/SPAN&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   9:  &lt;/SPAN&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  10:  &lt;/SPAN&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  11:  &lt;/SPAN&gt;...&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  12:  &lt;/SPAN&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  13:  &lt;/SPAN&gt;_pageLoading : function(sender, args) {&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  14:  &lt;/SPAN&gt;    &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (&lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;._postBackPending) {&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  15:  &lt;/SPAN&gt;        &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;._postBackPending = &lt;SPAN class=kwrd&gt;false&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  16:  &lt;/SPAN&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  17:  &lt;/SPAN&gt;        var element = &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.get_element();&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  18:  &lt;/SPAN&gt;        var panels = args.get_panelsUpdating();&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  19:  &lt;/SPAN&gt;        &lt;SPAN class=kwrd&gt;for&lt;/SPAN&gt; (var i = 0; i &amp;lt; panels.length; i++) {&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  20:  &lt;/SPAN&gt;        var el=element;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  21:  &lt;/SPAN&gt;        &lt;SPAN class=kwrd&gt;while&lt;/SPAN&gt;(el!=&lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  22:  &lt;/SPAN&gt;        {&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  23:  &lt;/SPAN&gt;            &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt;(el==panels[i]) &lt;SPAN class=kwrd&gt;break&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  24:  &lt;/SPAN&gt;            el = el.parentNode;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  25:  &lt;/SPAN&gt;        }&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  26:  &lt;/SPAN&gt;        &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt;(el!=&lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  27:  &lt;/SPAN&gt;        {&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  28:  &lt;/SPAN&gt;            &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (tinyMCE.getInstanceById(element.id) != &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt; &amp;amp;&amp;amp; tinyMCE.getInstanceById(element.id) != “undefined”)&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  29:  &lt;/SPAN&gt;            {&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  30:  &lt;/SPAN&gt;                tinyMCE.execCommand(‘mceFocus’, &lt;SPAN class=kwrd&gt;false&lt;/SPAN&gt;, element.id);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  31:  &lt;/SPAN&gt;                tinyMCE.execCommand(‘mceRemoveControl’,&lt;SPAN class=kwrd&gt;false&lt;/SPAN&gt;,element.id);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  32:  &lt;/SPAN&gt;            }&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  33:  &lt;/SPAN&gt;            &lt;SPAN class=kwrd&gt;break&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  34:  &lt;/SPAN&gt;        }&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  35:  &lt;/SPAN&gt;    }&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  36:  &lt;/SPAN&gt;}&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  37:  &lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&lt;/PRE&gt;&lt;/DIV&gt;From the Extender&lt;BR&gt;&lt;BR&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;DIV class=csharpcode&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   1:  &lt;/SPAN&gt;[Designer(&lt;SPAN class=kwrd&gt;typeof&lt;/SPAN&gt;(TinyMCETextBoxDesigner))]&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   2:  &lt;/SPAN&gt;[ClientScriptResource(“TinyMCETextBox.TinyMCETextBoxBehavior”, “TinyMCETextBox.TinyMCETextBoxBehavior.js”)]&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   3:  &lt;/SPAN&gt;[TargetControlType(&lt;SPAN class=kwrd&gt;typeof&lt;/SPAN&gt;(TextBox))]&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   4:  &lt;/SPAN&gt;&lt;SPAN class=kwrd&gt;public&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;class&lt;/SPAN&gt; TinyMCETextBoxExtender : ExtenderControlBase&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   5:  &lt;/SPAN&gt;{&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   6:  &lt;/SPAN&gt;    &lt;SPAN class=kwrd&gt;protected&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;override&lt;/SPAN&gt; &lt;SPAN class=kwrd&gt;void&lt;/SPAN&gt; OnLoad(EventArgs e)&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   7:  &lt;/SPAN&gt;    {&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   8:  &lt;/SPAN&gt;        &lt;SPAN class=rem&gt;// ** load scripts&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;   9:  &lt;/SPAN&gt;        &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (Page.Items[“tinymce”] == &lt;SPAN class=kwrd&gt;null&lt;/SPAN&gt;)&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  10:  &lt;/SPAN&gt;        {&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  11:  &lt;/SPAN&gt;            HtmlGenericControl Include = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; HtmlGenericControl(“script”);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  12:  &lt;/SPAN&gt;            Include.Attributes.Add(“type”, “text/javascript”);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  13:  &lt;/SPAN&gt;            Include.Attributes.Add(“src”, Page.ResolveUrl(“~/tinymce/jscripts/tiny_mce/tiny_mce.js”));&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  14:  &lt;/SPAN&gt;            &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.Page.Header.Controls.Add(Include);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  15:  &lt;/SPAN&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  16:  &lt;/SPAN&gt;            &lt;SPAN class=rem&gt;//Config MCE&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  17:  &lt;/SPAN&gt;            HtmlGenericControl Include2 = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; HtmlGenericControl(“script”);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  18:  &lt;/SPAN&gt;            Include2.Attributes.Add(“type”, “text/javascript”);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  19:  &lt;/SPAN&gt;            Include2.InnerHtml = “tinyMCE.init({mode : ’specific_textareas’, theme : ’simple’});”;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  20:  &lt;/SPAN&gt;            &lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.Page.Header.Controls.Add(Include2);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  21:  &lt;/SPAN&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  22:  &lt;/SPAN&gt;            Page.Items[“tinymce”] = &lt;SPAN class=kwrd&gt;true&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  23:  &lt;/SPAN&gt;&amp;nbsp;&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  24:  &lt;/SPAN&gt;            &lt;SPAN class=kwrd&gt;if&lt;/SPAN&gt; (!Page.ClientScript.IsOnSubmitStatementRegistered(&lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.GetType(), “tinymcetriggersave”))&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  25:  &lt;/SPAN&gt;            {&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  26:  &lt;/SPAN&gt;                Page.ClientScript.RegisterOnSubmitStatement(&lt;SPAN class=kwrd&gt;this&lt;/SPAN&gt;.GetType(), “tinymcetriggersave”, “tinyMCE.triggerSave(&lt;SPAN class=kwrd&gt;false&lt;/SPAN&gt;,&lt;SPAN class=kwrd&gt;true&lt;/SPAN&gt;);”);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  27:  &lt;/SPAN&gt;            }&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  28:  &lt;/SPAN&gt;        }&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  29:  &lt;/SPAN&gt;        &lt;SPAN class=kwrd&gt;base&lt;/SPAN&gt;.OnLoad(e);&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  30:  &lt;/SPAN&gt;    }&lt;/PRE&gt;&lt;PRE&gt;&lt;SPAN class=lnum&gt;  31:  &lt;/SPAN&gt;}&lt;/PRE&gt;&lt;/DIV&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5907714" width="1" height="1"&gt;</content><author><name>siets</name><uri>http://weblogs.asp.net/members/siets.aspx</uri></author><category term="ajax" scheme="http://weblogs.asp.net/cjdevos/archive/tags/ajax/default.aspx" /><category term="asp.net" scheme="http://weblogs.asp.net/cjdevos/archive/tags/asp.net/default.aspx" /><category term="tinymce" scheme="http://weblogs.asp.net/cjdevos/archive/tags/tinymce/default.aspx" /></entry></feed>