.NET6中使用CuteEditor详解

一、CuteEditor的配置:

1、将以下文件考贝到你站点根目录下的bin内(这些在CuteEditor6.0/bin下都可以找到)

  • CuteEditor.dll,
  • CuteEditor.ImageEditor.dll(6.0增加的EditorImage功能),
  • CuteEditor.lic(解密文件),
  • NetSpell.SpellChecker.dll(拼写检查功能)

注:(“.dic”为扩展名的文件是词典保存为纯文本文件的格式。将CuteEditor6.0/bin文件夹里的都拷到站点根目录下的bin内也可以)

2、将CuteSoft_Client文件夹拷贝到项目的根目录

CuteSoft_Client包含CuteEditor文件夹和example.css,放了控件图片,文件之类的数据example.css它指定了编辑器的样式。(在2.0下可能要把dialog文件夹里面的getfilethub.aspx删除)

注:FilesPath用来设置所对应的目录,如:FilesPath="~/admin/CuteSoft_Client/CuteEditor/"

3、在根目录下建立Uploads的文件夹作为上传图片及附件的根目录

4、将CuteEditor.dll添加到工具箱

先在工具箱空白处右击选择“添加选择项”,给选项卡添加一外名称为:CuteEditor。再在该选项卡中右击,选择“选择项 ”,在弹出的对话框的“.NET Frameword组件”标签中选择要添加的DLL文件即可。

5、CuteEditor属性设置(假设当前页在根目录下)

  • 1)AutoConfigure设为simple,即选择最简单的界面显示方式
  • 2)EditorWysiwygModecss设为:CuteSoft_Client/example.cs,需要把example.css文件放到该目录下。
  • 3)FilesPath设为:CuteSoft_Client/CuteEditor,设置CuteEditor目录的路径

6、控件的调用代码如下:

<%@ Register TagPrefix="CE" Namespace="CuteEditor" Assembly="CuteEditor" %>

如果是按照第4步从工具箱中拖放到页面的话,则此代码会自动生成,不需要要手动添加。

<CE:EDITOR id="Editor1" runat="server" Width="700px" FilesPath="~/CuteSoft_Client/CuteEditor/"   EditorWysiwygModeCss="../example.css" ThemeType="Office2003_BlueTheme"></CE:EDITOR>

二、基本属性:

  • EditorWysiwygModeCss :设置样式
  • ThemeType :设置风格
  • AutoConfigure :选择功能是简单还是复杂的
  • Text :设置加载时候默认内容
  • MaxHTMLLength :设置最大长度
  • BreakElement :默认“回车”产生什么HTML
  • URLType :没发现有什么区别
  • ResizeMode :自动长度(长度设置的几中形式)
  • ReadOnly :是否为只读
  • CustomCulture :设置语言类型 china 为zh-cn
  • EditCompleteDocument :设置是否完整的HTML页面代码(也就是说是不是包括html头)
  • AllowPasteHtml :是否允许粘帖HTML代码
  • EnableContextMenu :在文本里是否显示右键菜单

三、CuteEditor文件夹里的配置:

  • 1)控制工具拦显示:在CuteSoft_Client/CuteEditor/Configuration/AutoConfigure 里设置
  • 2)控制右键显示:CuteSoft_Client/CuteEditor/Configuration/ContextMenuMode里设置
  • 3)设置权限:CuteSoft_Client/CuteEditor/Configuration/Security里设置

例如要设置各种组件的大小等属性限制,如控制上传文件的大小等,可在CuteSoft_Client/CuteEditor/Configuration/Security修改“Security”文件夹中的“Default.config”文件即可

      <?xml version="1.0" encoding="utf-8" ?>
      <configuration>
      <security name="RestrictUploadedImageDimension">true</security>   //是否限制上传图象尺寸
      <security name="OverWriteExistingUploadedFile">false</security>   //如果上传的文件已经存在,是否将其覆盖
      <security name="UseTimeStampRenameUploadedFiles">true</security> //重命名为时间
      <security name="AutoResizeUploadedImages">true</security>   //是否自动调整上传图象
      <security name="MaxImageWidth">1024</security>   //上传图象的最大宽度
      <security name="MaxImageHeight">768</security>   //上传图象的最小宽度
      <security name="MaxImageSize">1000</security>   //上传图象文件的最大值
      <security name="MaxMediaSize">100</security>   //上传媒体文件的最大值
      <security name="MaxFlashSize">100</security>   //上传Flash文件的最大值
      <security name="MaxDocumentSize">10000</security>   //文档最大值
      <security name="MaxTemplateSize">1000</security>   //模板最大值
      <security name="ImageGalleryPath">~/uploads</security>   //图象文件上传路径
      <security name="MediaGalleryPath">~/uploads</security>   //媒体文件上传路径
      <security name="FlashGalleryPath">~/uploads</security>   //Flash文件上传路径
      <security name="TemplateGalleryPath">~/templates</security>   //模板路径
      <security name="FilesGalleryPath">~/uploads</security>   //文件库路径
      <security name="MaxImageFolderSize">102400</security>   //图象文件夹最大值
      <security name="MaxMediaFolderSize">102400</security>   //媒体文件夹最大值
      <security name="MaxFlashFolderSize">102400</security>   //Flash文件夹最大值
      <security name="MaxDocumentFolderSize">102400</security>   //文档文件夹最大值
      <security name="MaxTemplateFolderSize">102400</security>   //模板文件夹最大值
      <security name="ThumbnailWidth">80</security>   //最小宽度
      <security name="ThumbnailHeight">80</security>   //最小高度
      <security name="ThumbnailColumns">5</security>   //最小列数
      <security name="ThumbnailRows">3</security>   //最小行数
      <security name="AllowUpload">true</security>   //是否允许上传
      <security name="AllowModify">true</security>   //是否允许修改
      <security name="AllowRename">true</security>   //是否允许重命名
      <security name="AllowDelete">true</security>   //是否允许删除
      <security name="AllowCopy">true</security>   //是否允许复制
      <security name="AllowMove">true</security> <!-- this is rename too -->   //是否允许移动
      <security name="AllowCreateFolder">true</security>   //是否允许创建文件夹
      <security name="AllowDeleteFolder">true</security>   //是否允许删除文件夹
      <security name="ImageFilters">   //这里过滤(设置)图象文件格式
            <item>.jpg</item>
            <item>.jpeg</item>
            <item>.gif</item>
            <item>.png</item>
      </security>
      <security name="MediaFilters">   //这里过滤(设置)媒体文件格式
            <item>.avi</item>
            <item>.mpg</item>
            <item>.mpeg</item>
            <item>.mp3</item>
      </security>
      <security name="DocumentFilters">   //这里过滤(设置)文档文件格式
            <item>.txt</item>
            <item>.doc</item>
            <item>.pdf</item>
            <item>.zip</item>
            <item>.rar</item>
            <item>.avi</item>
            <item>.mpg</item>
            <item>.mpeg</item>
            <item>.swf</item>
            <item>.jpg</item>
            <item>.jpeg</item>
            <item>.gif</item>
            <item>.png</item>
            <item>.htm</item>
      </security>
      </configuration>
  • 4)设置工具拦按钮具体功能:CuteSoft_Client/CuteEditor/Configuration/Shared 里设置
  • 5)设置工具拦按钮具体功能:CuteSoft_Client/CuteEditor/Configuration/Shared 里设置
  • 6)设置语言:CuteSoft_Client/CuteEditor/Configuration/Languages里设置
  • 7)添加字体:CuteSoft_Client/CuteEditor/Configuration/Shared/Common.config里设置

感觉 CuteEditor 每处都可以 改变,因为它整体思路都是用摸板,具体体现形式写在配置文件里面。用户修改配置文件或是它提供的属性就可以实现自己的功能!

四、CuteEditor的服务器端控制

1)设置编辑器的默认文本:

Editor1.Text = "Default Text";              //服务器端方法
var editor = document.getElementById('<%=Editor1.ClientID %>');    //JavaScript方法

var editorText = editor.getHTML();

2)修改文件的上传目录:Editor1.SetSecurityGalleryPath("~/uploads/jpg");

修改上传文件的总大小(以Flash为例):Editor1.SetSecurityMaxFlashFolderSize(1000);

修改单个上传文件的大小(以Flash为例):Editor1.SetSecurityMaxFlashSize(kb);   //默认KB为单位

3)多用户文件夹

由于上传的文件统一被放置到uploads文件夹中,可以通过程序控制为每个用户建立一个上传的文件 夹。代码如下:

            using System.IO;
            string username = Session["username"].ToString() ;
            fullPath = Server.MapPath("uploads\\") + username;
            if (!Directory.Exists(fullPath))
            {
                  Directory.CreateDirectory(fullPath);
            }
            Editor1.SetSecurityGalleryPath("~/uploads/" + username);

五、CuteEditor 编辑器添加中文字体

可以修改文件CuteSoft_Client\CuteEditor\Configuration\Shared\Common.config来添加字体。

主要注意的地方是该文件是用XML编码

<item text="FangSong_GB2312" html="&lt;font size=3 face='FangSong_GB2312'&gt;仿宋&lt;/font&gt;">FangSong_GB2312</item>
<item text="KaiTi_GB2312" html="&lt;font size=3 face='KaiTi_GB2312'&gt;楷体_GB2312&lt;/font&gt;">KaiTi_GB2312</item>

要在CuteEditor中显示中文字体,需要将中文字体名称进行“国际化”,即将汉字字体名称改为英文名称,

如将“宋体”改为“Simsun",“黑体”改为"Simhei"等,下面是部分字体对照列表:

  • English Name Localized Name  
  • SimSun  宋体  
  • SimHei  黑体  
  • FangSong_GB2312  仿宋_GB2312  
  • KaiTi_GB2312  楷体_GB2312  
  • YouYuan  幼圆  
  • STSong  华文宋体  
  • STZhongsong  华文中宋  
  • STKaiti  华文楷体  
  • STFangsong  华文仿宋  
  • STXihei  华文细黑  
  • STLiti  华文隶书  
  • STXingkai  华文行楷  
  • STXinwei  华文新魏  
  • STHupo  华文琥珀  
  • STCaiyun  华文彩云  
  • FZYaoTi  方正姚体简体  
  • FZShuTi  方正舒体简体  
  • NSimSun  新宋体  
  • LiSu  隶书

以上所述是小编给大家介绍的.NET6中使用CuteEditor详解,希望对大家有所帮助。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • CuteEditor 编辑器的字体样式无法控制的解决方法

    发现每个编辑实例都可以加载不同的css样式表,而且其样式不继承 页面的css. 于是我就单独建立个Editor.css 另外在属性设置上设置: EditorWysiwygModeCss="Editor.css" 困扰许久的问题得以解决. 如果你有类似问题.可以尝试下.

  • .NET6中使用CuteEditor详解

    一.CuteEditor的配置: 1.将以下文件考贝到你站点根目录下的bin内(这些在CuteEditor6.0/bin下都可以找到) CuteEditor.dll, CuteEditor.ImageEditor.dll(6.0增加的EditorImage功能), CuteEditor.lic(解密文件), NetSpell.SpellChecker.dll(拼写检查功能) 注:(".dic"为扩展名的文件是词典保存为纯文本文件的格式.将CuteEditor6.0/bin文件夹里的都拷

  • Java中的静态内部类详解及代码示例

    1. 什么是静态内部类 在Java中有静态代码块.静态变量.静态方法,当然也有静态类,但Java中的静态类只能是Java的内部类,也称为静态嵌套类.静态内部类的定义如下: public class OuterClass { static class StaticInnerClass { ... } } 在介绍静态内部类之前,首先要弄清楚静态内部类与Java其它内部类的区别. 2. 内部类 什么是内部类?将一个类的定义放在另一个类的内部,就是内部类.Java的内部类主要分为成员内部类.局部内部类.

  • Mysql中explain作用详解

    一.MYSQL的索引 索引(Index):帮助Mysql高效获取数据的一种数据结构.用于提高查找效率,可以比作字典.可以简单理解为排好序的快速查找的数据结构. 索引的作用:便于查询和排序(所以添加索引会影响where 语句与 order by 排序语句). 在数据之外,数据库还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用数据.这样就可以在这些数据结构上实现高级查找算法.这些数据结构就是索引. 索引本身也很大,不可能全部存储在内存中,所以索引往往以索引文件的形式存储在磁盘上. 我们

  • linux中 pmap 命令详解

    通过查看帮助,返回了如下信息: Usage: pmap [options] pid [pid ...] Options: -x, --extended show details -X show even more details WARNING: format changes according to /proc/PID/smaps -XX show everything the kernel provides -c, --read-rc read the default rc -C, --re

  • linux 中ls命令详解

    ls命令用来显示目标列表,在Linux中是使用率较高的命令.ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件. 语法 ls(选项)(参数) 选项 -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出): -A:显示除影藏文件“.”和“..”以外的所有文件列表: -C:多列显示输出结果.这是默认选项: -l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列: -F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文

  • Linux 中的通配符详解及实例

    Linux 中的通配符详解及实例 一 通配符  二 实战 [root@localhost ~]# mkdir dy [root@localhost ~]# cd dy [root@localhost dy]# touch dzp dzp2 dzp3 dzp34 dzpcang dzpbols [root@localhost dy]# ls dzp dzp2 dzp3 dzp34 dzpbols dzpcang [root@localhost dy]# la dzp bash: la: comma

  • java中正则表达式实例详解

    Java中正则表达式运用实例(参看java中正则表达式运用详解): 测试代码 package test; /** * 在String的matches()方法,split()方法中使用正则表达式. * @author fhd001 */ public class RegexTest { public static void main(String[] args) { /* * 普通字符 */ String str1 = "abc45abc345"; String[]arr1 = str1

  • Mybatis中 XML配置详解

    Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" > <configuration> <

  • Java中初始化块详解及实例代码

    Java中初始化块详解 在Java中,有两种初始化块:静态初始化块和非静态初始化块. 静态初始化块:使用static定义,当类装载到系统时执行一次.若在静态初始化块中想初始化变量,那仅能初始化类变量,即static修饰的数据成员. 非静态初始化块:在每个对象生成时都会被执行一次,可以初始化类的实例变量. 非静态初始化块会在构造函数执行时,且在构造函数主体代码执行之前被运行. 括号里的是初始化块,这里面的代码在创建Java对象时执行,而且在构造器之前执行! 其实初始化块就是构造器的补充,初始化块是

  • Java中的HashSet详解和使用示例_动力节点Java学院整理

    第1部分 HashSet介绍 HashSet 简介 HashSet 是一个没有重复元素的集合. 它是由HashMap实现的,不保证元素的顺序,而且HashSet允许使用 null 元素. HashSet是非同步的.如果多个线程同时访问一个哈希 set,而其中至少一个线程修改了该 set,那么它必须 保持外部同步.这通常是通过对自然封装该 set 的对象执行同步操作来完成的.如果不存在这样的对象,则应该使用 Collections.synchronizedSet 方法来"包装" set.

随机推荐