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="txtareaTextActivit开发者_如何学编程y" name="content" cols="48" rows="5"> </textarea>
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.
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.
This happens when the editor control in placed within Update Panel. Try to remove update panel and check. It worked for me.
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.
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.
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)
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
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
精彩评论