tinymce получить HTML-код при обратной передаче - PullRequest
5 голосов
/ 12 апреля 2011

У меня есть tinymce -control как WYSIWYG-Editior на моей странице asp.net.

Когда у меня есть, например, текст, выделенный жирным шрифтом, после обратной передачи он отображается как

 "<p><strong>asd</strong></p>" 

в текстовой области вместо текста, выделенного жирным шрифтом.

Есть идеи?

Мой код:

    <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>

Ответы [ 8 ]

3 голосов
/ 05 декабря 2015

У меня тоже была такая же проблема. Но исправили это, декодируя текст textarea каждый раз при загрузке страницы в c #, как показано ниже:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
          // Some stuff
        }
        txtDescription.Text = HttpUtility.HtmlDecode(txtDescription.Text);
    }

Я использую encoding: "xml" в функции инициализации tinymce. .net версия 4.5.1.

Надеюсь, это кому-нибудь поможет.

2 голосов
/ 10 января 2013

Это происходит, когда редактор находится внутри панели обновления.Попробуйте удалить панель обновления и проверьте.У меня это сработало.

2 голосов
/ 08 июля 2012

Вы можете использовать этот код для решения вашей проблемы:

TextAreaID.Text = Server.HtmlDecode("<p>hello</p>");

Я нашел его в этом сообщении: https://stackoverflow.com/a/8029637/1509986

Если вы получили ошибки безопасности, вы можете использовать

validateRequest="false"

на своей странице.

0 голосов
/ 20 февраля 2016

У меня та же проблема. Для ее исправления необходимо добавить код сценария для элемента создания сообщения назад. моя кнопка создать пост назад, я добавляю его OnClientClick ():

<asp:LinkButton ID="lbnSave" OnClick="lbnSave_Click" ToolTip="Add New" OnClientClick="dotim()"
                            runat="server">save</asp:LinkButton>

и скрипт:

function dotim() {
       tinyMCE.triggerSave();
      } // this is my attempt at a fix
0 голосов
/ 28 октября 2014

Шаг 1: в TinyMCE Configuration используйте

encoding: "xml",

Шаг 2: в Java Script после init TinyMCE использует этот код, где 'textarea.RichText' - селектор класса для текстовой области

tinymce.init(TMCEconfig);

 // Fix Html Decodeing
    $('textarea.RichText').each(function () {
            var $this = $(this);
            var x = $this.text();
            $this.html(x)
    });

Шаг 3: в коде сервера при настройке значения текстовой области сначала декодируйте текст. Например, в ASP.net используйте

textarea.text = HttpUtility.HtmlDecode(Source)
0 голосов
/ 07 июня 2013

Измените функцию init и установите для кодировки пустую строку.

<script type="text/javascript">
    tinyMCE.init({
        mode: "textareas",
        theme: "simple",
        encoding: ""
    });
</script>

Это настройка по умолчанию, которая сработала в моем случае.Смотрите документацию на этой странице http://www.tinymce.com/wiki.php/Configuration3x:encoding

0 голосов
/ 24 мая 2011

Попробуйте передать свой js-код в ScriptManager. Работал на меня.

string script = "alert('something')";
ScriptManager.RegisterClientScriptBlock(UpdatePanelSend, typeof(UpdatePanel), "jscript", script, true);

http://snippets.dzone.com/posts/show/6725

Надеюсь, это поможет.

0 голосов
/ 30 апреля 2011

После нескольких часов поиска нет пути к этому, это нерешенная ошибка до сих пор.Поэтому мне пришлось переключиться на другой WYSIWYG-редактор.

...