Reputation: 15158
I have the tinymce -control as a WYSIWYG-Editior in my asp.net page.
When I have e.g. a Text in Bold, after the Postback it is shown as
"<p><strong>asd</strong></p>"
in the textarea instead of the bolded text.
Any ideas?
My code:
<script type="text/javascript" src="../scripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
mode: "textareas",
theme: "simple",
encoding: "xml"
});
</script>
<textarea runat="server" id="txtareaTextActivity" name="content" cols="48" rows="5"> </textarea>
Upvotes: 6
Views: 5184
Reputation: 369
i have same problem.for fix it you mast add script code for element create post back . my button create post back,I add it OnClientClick() :
<asp:LinkButton ID="lbnSave" OnClick="lbnSave_Click" ToolTip="Add New" OnClientClick="dotim()"
runat="server">save</asp:LinkButton>
and script is:
function dotim() {
tinyMCE.triggerSave();
} // this is my attempt at a fix
Upvotes: 0
Reputation: 6610
I also had the same problem. But fixed it by decoding the textarea
text each time in page load in c# as below:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// Some stuff
}
txtDescription.Text = HttpUtility.HtmlDecode(txtDescription.Text);
}
I'm using encoding: "xml"
in tinymce init function. .net version 4.5.1
.
Hope it helps someone.
Upvotes: 3
Reputation: 1
Step 1: in TinyMCE Configuration use
encoding: "xml",
Step 2: in Java Script after init the TinyMCE use this code, where 'textarea.RichText' is the class selector for the text area
tinymce.init(TMCEconfig);
// Fix Html Decodeing
$('textarea.RichText').each(function () {
var $this = $(this);
var x = $this.text();
$this.html(x)
});
Step 3 : in Server code, when setting the value of the text area , decode the text first For example in ASP.net use
textarea.text = HttpUtility.HtmlDecode(Source)
Upvotes: 0
Reputation: 971
Change the init function and set encoding to an empty string.
<script type="text/javascript">
tinyMCE.init({
mode: "textareas",
theme: "simple",
encoding: ""
});
</script>
This is default setting, and worked in my case. See documentation on this page http://www.tinymce.com/wiki.php/Configuration3x:encoding
Upvotes: -1
Reputation: 21
This happens when the editor control in placed within Update Panel. Try to remove update panel and check. It worked for me.
Upvotes: 2
Reputation: 698
You can use this code for solving your problem:
TextAreaID.Text = Server.HtmlDecode("<p>hello</p>");
I found it in this post : https://stackoverflow.com/a/8029637/1509986
If you get some security errors you can use
validateRequest="false"
in your page.
Upvotes: 2
Reputation: 9
Try passing your js code to the ScriptManager. Worked for me.
string script = "alert('something')";
ScriptManager.RegisterClientScriptBlock(UpdatePanelSend, typeof(UpdatePanel), "jscript", script, true);
http://snippets.dzone.com/posts/show/6725
Hope this helps.
Upvotes: 0
Reputation: 15158
After hours and hours of search, there is no way of this, it's an unsolved bug until now. So I had to switch to another WYSIWYG-Editor.
Upvotes: 0