zoukankan      html  css  js  c++  java
  • asp.net 2.0 下设置和使用FCKeditor文本编辑器

    首先下载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())来回调用;

     
  • 相关阅读:
    Java 8与Runtime.getRuntime().availableProcessors()
    nginx配置
    周末完成工作小结
    CentOS 8 安装MySQL 8.0
    centOS8网络获取不了
    IUAP平台新增菜单存储过程
    centOS8安装Docker
    Mybatis里用到的设计模式
    2020,回顾过往,展望未来
    使用 Apache SSI(Server Side Includes) 制作多语言版静态网页
  • 原文地址:https://www.cnblogs.com/tyjsjl/p/2156064.html
Copyright © 2011-2022 走看看