杜隆塔尔的红色海岸

几多天真的理想.几多找到是颓丧

文章:21 评论:213 浏览:77124

HtmlArea是一款很简洁的WTYSWTYG编辑器,以前我用的是FreeTextBox,缺点很多,运行速度慢,架构太复杂,不支持ajax等等,前面还特地写了一篇文章《Ajax中的UpdatePanel与Freetextbox兼容问题的初步解决方法》,现在终于痛下决心砍了。

HtmlArea是纯JS+Html的编辑器,理论上可以套在任何语言平台上,经过实际使用可以和Asp.Net 2.0 + Ajax 很好的结合,现在本博客系统已经拿它当作文章编辑器了,下面就是具体安装步骤。

  1. 首先下载HtmlArea3.0,解压到Web项目的某个目录。
  2. lang/gb.js 是中文语言文件,官方默认是ANSI编码的,如果你的web.config设置为utf-8(默认),则需要用记事本打开gb.js,另存为utf-8格式。
  3. <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>
  4. 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);
    }
    }
  5. 如果是UpdatePanel提交,则还须在提交后执行下面语句,重新初始化编辑器:
    ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "HtmlAreaScript", "initEditor();", true);
不过HtmlArea的Bug也不少,一个是按Ctrl+Z不能撤销,一个对程序代码的编辑其烂无比,还有一个就是如果是本域内的图片,如passport.orgact.com/abc.jpg,它会很聪明的给你换成abc.jpg,让你哭笑不得。唉,还要继续摸索改进。

posted @ 2007-11-2 20:33:06 Leisang 阅读(580) | 评论(0) | 编辑
昵称:
主页:
内容:
验证码:
关于我们 | 联系我们 | 客服中心 | 免责声明 | 合作伙伴
CopyRight 2006-2007© www.OrgAct.com(组织活动网) All Right Reserved 浙ICP备12345678号
Version: 1.0Beta