我使用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());
}
但问题是我没有获得新的更改文本,而是只获得了我在页面加载时获得的文本。为什么会这样。有什么建议吗?
答案 0 :(得分:0)
因为您正在更新textarea而不是编辑器。用于此用途:
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