大家好,我是L。我最近发现我的办公管理系统里的文本编辑器真的是。。。忍不了了,所以我想换一换,在网上找到一个办法,和大家分享一下,这项技术在VS2003中已经应用了,也算比较老的技术,但是对于大家应该还是比较有用的。

       博客,论坛也都会用到文本编辑器,发帖子之类的,类似于Word,比较常用,如果自己开发一个文本编辑器,成本也是很高的,好多代码都设计到JavaScript,不太容易,也比较麻烦。现在网上很多工作室也开始做专门的成品然后卖,这次我用的是一个ASP版本的免费版,当然不能用于商业,要是用于商业就一定要购买版权。可能有很多网友和水友都会了,但是我觉得还是共享出来给不太熟悉的朋友,代码在文章后面会上传上来,代码很简单,我写一点思路。
 
1.首先,下载ASP文本编辑器压缩包 ,这个我文章后面附件也会上传的。里面都是ASP,可以先看下运行效果,当然ASP是要在IIS下运行的,这里一定要注意,后面新建网站的时候是要选择的。进入系统目录,找到IIS根目录(C:\Inetpub\wwwroot),复制进来,运行Test1.asp。下面两张图大家应该就可以看明白了。这个文本编辑器功能比较全,操作也比较简单,很方便。
 
 
 
 
2.然后,我们把这个ASP版本变成能在.NET下使用。打开VS2008,(或者VS2005都行),新建一个网站,然后选 HTTP,一般都是选文件系统,ASP需要在IIS上运行,  当然也可以是远程。
 
3.把解压后的ASP文本编辑器粘贴到项目中来
 
看一下test1.asp的源代码:
< TABLE  border ="0"  cellpadding ="2"  cellspacing ="1" > 
< TR > 
   < TD >编辑内容: </TD> 
   < TD > 
     < INPUT  type ="hidden"  name ="content1" value="<p >  </p> < p > < font color=#ff0000 >本样式为自带默认样式,最佳调用宽度550px,高度350px! </font> </p> < p >下面为一些高级调用功能的例子,你可以用脚本方便的编辑进行一些操作。 </p> < p >看到这些内容,且没有错误提示,说明安装已经正确完成! </p> < p >你可以先到后台管理中,进行必要的设置,然后再调用! </p> < p > < b > < font color=#0000ff >提示: </font>别忘了改用户和密码、数据库文件名。 </b> </p>"> 
     < IFRAME  ID ="eWebEditor1"  src ="../ewebeditor.asp?id=content1&style=s_coolblue"  frameborder ="0"  scrolling ="no"  width ="550"  height ="350" > </IFRAME> 
   </TD> 
</TR> 
< TR > 
   < TD colspan=2 align=right > 
   < INPUT type=submit name=b1  value ="提交" >    
   < INPUT type=reset name=b2  value ="重填" >    
   < INPUT type=button name=b3  value ="查看源文件"  onclick ="location.replace('view-source:'+location)" >    
   </TD> 
</TR> 
< TR > 
   < TD >取到内容: </TD> 
   < TD > < TEXTAREA cols=50 rows=5 id=myTextArea  style ="width:550px" >点击“取值”按钮,看一下效果! </TEXTAREA> </TD> 
</TR> 
< TR > 
   < TD colspan=2 align=right > 
   < INPUT type=button name=b4  value ="取值"  onclick ="myTextArea.value=eWebEditor1.getHTML()" >    
   < INPUT type=button name=b5  value ="赋值" onclick="eWebEditor1.setHTML('<b >Hello My World! </b>')"> 
   < INPUT type=button name=b6  value ="代码状态"  onclick ="eWebEditor1.setMode('CODE')" > 
   < INPUT type=button name=b7  value ="设计状态"  onclick ="eWebEditor1.setMode('EDIT')" > 
   < INPUT type=button name=b8  value ="文本状态"  onclick ="eWebEditor1.setMode('TEXT')" > 
   < INPUT type=button name=b8  value ="预览状态"  onclick ="eWebEditor1.setMode('VIEW')" > 
   < INPUT type=button name=b9  value ="当前位置插入"  onclick ="eWebEditor1.insertHTML('This is Insert Function!')" > 
   < INPUT type=button name=b10  value ="尾部追加"  onclick ="eWebEditor1.appendHTML('This is Append Function!')" >
   </TD> 
</TR> 
</TABLE>
 
我们需要修改这个table,我要的是文本里的内容,所以用不到的就去掉好了。修改后变成:
< TABLE  border ="0"  cellpadding ="2"  cellspacing ="1" > 
< TR > 
   < TD > 
     < INPUT  type ="hidden"  name ="content1" value="<p >  </p> < p > < font color=#ff0000 >本样式为自带默认样式,最佳调用宽度550px,高度350px! </font> </p> < p >下面为一些高级调用功能的例子,你可以用脚本方便的编辑进行一些操作。 </p> < p >看到这些内容,且没有错误提示,说明安装已经正确完成! </p> < p >你可以先到后台管理中,进行必要的设置,然后再调用! </p> < p > < b > < font color=#0000ff >提示: </font>别忘了改用户和密码、数据库文件名。 </b> </p>"> 
     < IFRAME  ID ="eWebEditor1"  src ="../ewebeditor.asp?id=content1&style=s_coolblue"  frameborder ="0"  scrolling ="no"  width ="550"  height ="350" > </IFRAME> 
   </TD> 
</TR> 
< TR > 
   < TD align=right > 
   < INPUT type=submit name=b1  value ="提交" >    
   < INPUT type=reset name=b2  value ="重填" >    
   </TD> 
</TR> 

</TABLE>
 
再改一下路径,改成我项目的路径:
src="eWebEditor/ewebeditor.asp?id=content1&style=s_coolblue"
 
4.其实核心语言无所谓,主要都是传值然后进行操作,现在服务器都支持ASP,然后把这个修改后的TABLE复制到Default.aspx,然后修改一下路径。可以先看一下效果了,但是在之前我们需要改个地方,IIS需要进行设置,网站-->属性-->目录安全性-->编辑-->集成windows身份验证勾上。
 
5.这样虽然显示了,但是不够灵活,可能我们的页面还有其他的控件,所以我们可以把刚才的TABLE做成 WEB控件,用的化直接拖进页面就OK了,新建一个WEB控件,直接剪进页面A把代码。
 
6.看一下table代码,内容都在textbox里面了,value是内容,传参的大家即使不了解ASP也会看到ewebeditor.asp?id=content1&style=s_coolblue。当我们点击“提交”的时候对内容进行处理,取出内容,显示或者添加数据库都可以。内容都是通过 form提交,所以我们把A页面的form进行一下处理,变成:
< form  id ="form1"  action ="save.aspx"  method ="post" >
,但是form下的不管什么控件都要runat=server,因为数据还是要在后台处理的,把内容传到save.aspx页面。
 
7.页面save.aspx获取文本内容,代码很简单。
string content = Request.Form[ "content1"].ToString(); 
Response.Write(content);
 
原理已经就这么多了,不难,不过很有用。后面我们完善一下这个程序。
 
8.肯定还要有其他控件在起始页面,我们再建立一个B页面。
关系:B是主页面  >   A是框架    >  WEB控件  
这样我们在B页面引用以下A框架就可以了:
< iframe src=Default.aspx width=580 height=550 > </iframe>
 
9.在aspx页面中设计到一个安全的东西,不允许提交一些脚本的东西。增加验证代码:
ValidateRequest="false"
 
10.如果上传图片的话,要增加文件夹权限,否则上传不了图片什么的。共享里面打开这个文件夹共享。
 
       大功告成,用别人的成品还是比较快的,有经济能力的尽量购买正版。这个程序已经算是比较简便的办法了,当然办法都是人想的,而且这个技术是VS2003那个时代的,肯定还会有更好的。
       这个是最简单的让.NET使用ASP文本编辑器,要是更改文本编辑器也可以,但是要懂一些JS,呵呵,还是很麻烦的。产品版权还是作者的,应用商业一定要买正版。