1

我正在使用 tinyMCE 在我的 asp.net 站点中显示编辑器,以添加和编辑文章功能。我的代码如下

<script type="text/javascript" language="javascript">        

    tinyMCE.init({
        // General options
        mode: "exact",
        elements: '<%=txtTextBox.ClientID%>',
        theme: "advanced",
        width: "650",
        height: "500",
        plugins: "style,advhr,advimage,advlink,inlinepopups,preview,media,searchreplace,contextmenu,paste,noneditable,visualchars,nonbreaking,wordcount",
        // Theme options            
        theme_advanced_buttons1: "undo,redo,separator,bold,italic,underline,separator,cut,copy,paste,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,outdent,indent,separator,image,media,link,separator,forecolor,backcolor,separator,preview",
        theme_advanced_buttons2: "fontsizeselect,fontselect",
        theme_advanced_buttons3: "",
        theme_advanced_font_sizes : "10px,12px,14px,16px,24px",
        theme_advanced_toolbar_location: "top",
        theme_advanced_toolbar_align: "left",
        theme_advanced_statusbar_location: "bottom",
        theme_advanced_resizing: false,
        relative_urls: true,
        remove_script_host: true,
        document_base_url: ""
    });        

</script>



<div>
    <textarea id="txtTextBox" runat="server" cols="500" rows="100"></textarea>
    <asp:Button ID="Button1" runat="server" Text="Save" OnClick="Button1_Click" />
    <asp:Button ID="Button2" runat="server" Text="Update" OnClick="Button2_Click" OnClientClick="return test();" />
</div>  

此代码将在 db 中的编辑器中输入的任何内容添加为 HTML。这工作正常。对于编辑,我只是​​检索这篇文章记录并在页面加载时在文本框中显示内容

   string sql = "select * from content_table where ID=1";
   comm = new SqlCommand(sql, conn);
   da = new SqlDataAdapter(comm);
   DataSet ds = new DataSet();
   da.Fill(ds);

   if (ds != null)
   {           
       txtTextBox.InnerText = Server.HtmlDecode(ds.Tables[0].Rows[0]["Content"].ToString());
   }

但问题是我没有得到新的更改文本,而是我只得到页面加载时得到的文本。为什么会这样。有什么建议吗?

4

1 回答 1

0

因为您正在更新文本区域 - 而不是编辑器。为此用途:

var new_content = Server.HtmlDecode(ds.Tables[0].Rows[0]["Content"].ToString();
tinymce.get('your_editor_id').setContent(new_content); // editorid equals your textarea id
于 2013-05-13T09:32:04.000 回答