当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 如何在Asp.net中使用HtmlArea编辑器

ASP.NET
为T-SQL添加intellisense功能
SQL Server 2005安装过程中出现错误的解决办法
SQL Server 2005 RTM 安装错误 :The SQL Server System Configuration Checker cannot be executed due to
有关于JSON的一些资料
不能忽略c#中的using和as操作符的用处
JavaScript系列之―同步还是异步?
获取远程网页的内容之一(downmoon原创)
获取远程网页的内容之二(downmoon原创)
ASP.Net中防止刷新自动触发事件的解决方案
asp.net下用js实现鼠标移至小图,自动显示相应大图
Asp.Net 和 AJAX.Net 的区别
提交页面的定位--scrollIntoView的用法
利用AJAX与数据岛实现无刷新绑定
asp.net下判断用户什么时候离开,以什么方式离开
DataSet 添加数据集、行、列、主键和外键等操作示例
读写xml所有节点个人小结 和 读取xml节点的数据总结
收藏的asp.net文件上传类源码
asp.net下GDI+的一些常用应用(水印,文字,圆角处理)技巧
一个可以让.net程序在非WIN平台上运行的软件Mono
使用ASP.NET 2.0 CSS 控件适配器生成CSS友好的HTML输出

ASP.NET 中的 如何在Asp.net中使用HtmlArea编辑器


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 142 ::
收藏到网摘: n/a

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