在Asp.net中使用HtmlArea编辑器 |
HtmlArea是一款很简洁的WTYSWTYG编辑器,以往我用的是FreeTextBox,缺陷众多,运行速度慢,架构太复杂,不 支撑ajax等等,前面还 专门写了一篇文章《Ajax中的UpdatePanel与Freetextbox兼容问题的初步解决 步骤》,现在终于痛下 信念砍了 。 HtmlArea是纯JS+Html的编辑器, 实际上 可以套在任何语言平台上, 通过实际 使用 可以和Asp.Net 2.0 + Ajax 很好的 联合,现在本博客系统已经拿它当作文章编辑器了,下面便是具体安装步骤 。 首先下载HtmlArea3.0,解压到Web项 目标某个目录 。 lang/gb.js 是中文语言文件,官方默许是ANSI编码的,假如你的web.config设置为utf-8(默许),则需求用记事本 打开gb.js,另存为utf-8 格局 。 以下是 引用片段: <script type="text/javascript"> _editor_url = "../HtmlArea/"; _editor_lang = "gb";</script> <script type="text/javascript" src="../HtmlArea/htmlarea.js"></script> <asp:TextBox ID="HtmlArea" CssClass="htmlarea" runat="server" Height="200px" TextMode="MultiLine" Width="100%"></asp:TextBox>
以下是 引用片段: protected void Page_Load(object sender, EventArgs e){ if (!Page.IsPostBack) { StringBuilder sb = new StringBuilder(); sb.Append("var editor = null;"); sb.Append("function initEditor() {"); sb.Append("editor = new HTMLArea('" + ArticleBody1.FindControl("HtmlArea").ClientID + "');"); sb.Append("editor.generate();}");sb.Append("document.body.onload=initEditor;"); ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "HtmlAreaScript", sb.ToString(), true);} 假如是UpdatePanel提交,则还须在提交后执行下面语句,再一次初始化编辑器: >以下是 引用片段: ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "HtmlAreaScript", "initEditor();", true); |