惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
小众软件
小众软件
WordPress大学
WordPress大学
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
博客园 - 三生石上(FineUI控件)
博客园_首页
N
Netflix TechBlog - Medium
IT之家
IT之家
H
Help Net Security
博客园 - 聂微东
Google DeepMind News
Google DeepMind News
罗磊的独立博客
T
Tailwind CSS Blog
F
Fortinet All Blogs
Hugging Face - Blog
Hugging Face - Blog
MongoDB | Blog
MongoDB | Blog
V
V2EX
量子位
云风的 BLOG
云风的 BLOG
爱范儿
爱范儿
博客园 - 司徒正美
The Cloudflare Blog
Engineering at Meta
Engineering at Meta

博客园 - 自由.Net

一段javascript实现缩略图的好代码 - 自由.Net - 博客园 转-支付宝Payto接口的c#.net实现 ASP.NET(C#)利用QQ的IP数据库QQWry.Dat进行精确IP查询 菜鸟到高手:SQL开发进阶常用精妙语句 自动生成html文件 Pinging ? with 32 bytes of data 如何获取自增长列(标识列)的ID,并写入另一张表(多对多关系插入数据示例) 虚拟主机下asp.net 2.0的导航控件treeview,menu等出错 - 自由.Net - 博客园 在GridView帮定数据时把太长的字段替换成"...." 数据库中id大于1时帮定到Gridview上显示为红色 - 自由.Net - 博客园 SQl 使自增字段清零 Asp.net 数据采集基类(远程抓取,分解,保存,匹配) PayPal支付接口 asp.net 2.0中判断上传的图片是否符合规格 DataSet接收XML数据并按条件搜索 我的asp.net程序当前占用了多少内存? [Asp.Net]按字符串实际长度截取定长字符窜 DataBinding绑定表达式: 验证用户名必须以字母打头且不能含有中文 加密,解密Web.Config
asp.net 2.0 下设置和使用FCKeditor文本编辑器
自由.Net · 2007-04-19 · via 博客园 - 自由.Net

首先下载FCKeditor。

FCKeditor的下载地址
http://www.fckeditor.net/download/default.html

我使用的是当前最新版本FCKeditor 2.3

下载 ZIP File (source code included):  FCKeditor_2.3.zip

FCKeditor.Net_2.2.zip

FCKeditor解压后,我们只取我们需要的部分(这个可以参照网上很多文章),我就记录一下了。

保留editor文件夹、fckconfig.js、fckeditor.js、fckstyles.xml、fcktemplates.xml
其他的不需要,所有“_”开头的文件和文件夹都是范例或者是源文件。

进入filemanager文件夹,有browser和upload两个文件夹。进入browser\default\connectors,只保留aspx文件夹,其余的删掉,有一个test.html文件要留下,如果上传的时候出现错误,还要用他进行测试呢。upload也一样,只保留aspx文件夹;

编辑 fckconfig.js 文件

修改
FCKConfig.DefaultLanguage  = 'en' ;

FCKConfig.DefaultLanguage  = 'zh-cn' ;

修改
var _FileBrowserLanguage = 'asp' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = 'asp' ; // asp | aspx | cfm | lasso | php

var _FileBrowserLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = 'aspx' ; // asp | aspx | cfm | lasso | php

找到第40行 FCKConfig.TabSpaces = 0 ; 改为FCKConfig.TabSpaces = 1 ; 即在编辑器域内可以使用Tab键。

如果你的编辑器还用在网站前台的话,比如说用于留言本或是日记回复时,那就不得不考虑安全了,在前台千万不要使用Default的toolbar,要么自定义一下功能,要么就用系统已经定义好的Basic,也就是基本的toolbar,
找到第64行:

FCKConfig.ToolbarSets["Basic"] = [
['Bold','Italic','-','OrderedList','UnorderedList','-',/*'Link',*/'Unlink','-','Style','FontSize','TextColor','BGColor','-','Smiley','SpecialChar','Replace','Preview']
] ;

这是我改过的Basic,把图像功能去掉,把添加链接功能去掉,因为图像和链接和flash和图像按钮添加功能都能让前台页直接访问和上传文件,要是这儿不改直接给你上传个木马还不马上玩完?但是光这样还不行,fckeditor还支持编辑域内的鼠标右键功能。

找到 第77行:

FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;

加上几种我们常用的字体 FCKConfig.FontNames = '宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana'

编辑器域内默认的显示字体为12px,想要修改可以通过修改样式表来达到要求,打开/editor/css/fck_editorarea.css,把第4行改为 font-size: 14px;即可。

在web.config中加入

<appSettings>
  <add key="FCKeditor:BasePath" value="~/"/>
  <add key="FCKeditor:UserFilesPath" value="/weste/Files" />
</appSettings>
要加在<system.web>...</system.web>外面,注意weste是我的工程目录,要根据实际需要进行修改,记住在工程完成后发布时要把/weste/Files根据实际情况修改一下,或者是/Files或者是/web/Files。开发阶段在运行项目时的URL是http://localhost/项目名称/的形式,发布后在服务器上建立站点,根路径就是http://www.abc.com/的形式,所以发布后一定要改过来。

差不多就这样了。对了,还要在工程目录中建立一个相对应的目录Files。

用VS.NET2003建立项目weste,引用 FCKeditor.Net_2.2.zip 解压下的 bin\Release\FredCK.FCKeditorV2.dll 文件。

编写一个最简单的页面

<%@ Register TagPrefix="FCKeditorV2" Namespace="FredCK.FCKeditorV2" Assembly="FredCK.FCKeditorV2" %>
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="weste.WebForm1" validateRequest=false%>

// 这里要主要两个参数
// 默认为 <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="weste.WebForm1" %>
// 我们要添加一个参数 validateRequest=false,否则提交带html代码的内容会报错
// 从客户端(...)中检测到有潜在危险的 Request.Form 值。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>WebForm1</title>
  </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
   <FCKeditorV2:FCKeditor id="FCKeditor1" runat="server"></FCKeditorV2:FCKeditor>
  </form>
 </body>
</HTML>

如果要看提交内容的话,可以用 TextBox1.Text = HttpUtility.HtmlEncode(FCKeditor1.Value)。

如果要修改保存的内容,这可以用HttpUtility.HtmlDecode(ds.Tables[tablename].Rows[0]["fginfo"].ToString())来回调用;