·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> KindEditor编辑器在ASP.NET中的使用

KindEditor编辑器在ASP.NET中的使用

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

KindEditor编辑器在asp.net中的使用

KindEditor编辑器在ASP.NET中的使用

最近做的项目中都有用到富文本编辑器,一直在寻找最后用的富文本编辑器,之前用过CKEditor,也用过UEditor,这次打算用 一下KindEditor。

KindEditor简介

KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IE、Firefox、Chrome、Safari、Opera等主流浏览器。KindEditor使用javaScript编写,可以无缝的于Java、.NET、php、ASP等程序接合。 KindEditor非常适合在CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用,2006年7月首次发布2.0以来,KindEditor依靠出色的用户体验和领先的技术不断扩大编辑器市场占有率,目前在国内已经成为最受欢迎的编辑器之一。[来自百度百科]

官网简介、 官网下载 、官方文档 、官网Demo演示

KindEditor使用

  1. 将开发包导入到项目

    将下载的开发包中不需要的删掉,只保留项目需要的文件,我的项目是ASP.NET项目,所引用的开发包资源如下图所示

  2. 在页面中添加引用

  3. 页面初始化

    html设置:

    js初始化:

  4. 获取和设置编辑器的值

    获取编辑器的值:

    1. 直接通过editor获取

    var html = editor.html();

    1. 先把数据同步到textarea中,再获取textarea的值

      editor.sync();

      //原生js获取

      var html = document.getElementById("editor").value;

      //jquery获取

      var html =$("#editor").val();

      //KindEditor 方式

      var html = K('#editor').val();

设置编辑器的值:

editor.html('html内容');

上传文件处理程序

参考所给的示例,只是对示例加以验证,验证是否有上传权限

上传文件列表处理程序

获取上传文件列表同样的,首先进行权限验证:

  1 public class UploadFileHandler : IHttpHandler, IRequiressessionState  2     {  3         PRivate static HttpResponse Response = null;  4         //最大文件大小  5         const int MAXFILESIZE = 10240*1024;  6   7         public void ProcessRequest(HttpContext context)  8         {  9             //验证上传权限 10             if (context.Session["User"] == null) 11             { 12                 context.Response.Write("no permission"); 13                 context.Response.End(); 14                 return; 15             } 16             Response = context.Response; 17             string flag = context.Request["customUpload"]; 18             //从配置文件中获取网站首页路径 19             String aspxUrl = Common.ConfigurationHelper.AppSetting("HomeUrlInfo"); 20             //文件保存目录路径 21             System.Text.StringBuilder savePath = new System.Text.StringBuilder("/Upload/"); 22             try 23             { 24                 //定义允许上传的文件扩展名 25                 Hashtable extTable = new Hashtable(); 26                 extTable.Add("image", "jpg,jpeg,png,bmp"); 27                 extTable.Add("Flash", "swf,flv"); 28                 extTable.Add("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb"); 29                 extTable.Add("file", "doc,docx,xls,xlsx,PPT,pptx,txt,zip,rar"); 30                 //获取上传文件 31                 HttpPostedFile imgFile = context.Request.Files["imgFile"]; 32                 if (imgFile == null) 33                 { 34                     imgFile = context.Request.Files["Filedata"]; 35                 } 36                 //当前时间字符串 37                 string timeString = DateTime.Now.ToString("yyyyMMddHHmmssfff"); 38                 //设置存储目录 39                 String dirName = context.Request.QueryString["dir"]; 40                 if (String.IsNullOrEmpty(dirName)) 41                 { 42                     dirName = "image"; 43                 } 44                 if (!extTable.ContainsKey(dirName)) 45                 { 46                     showError("目录名不正确"); 47                 } 48                 if (imgFile.InputStream == null || imgFile.InputStream.Length > MAXFILESIZE) 49                 { 50                     showError("上传文件大小超过限制"); 51                 } 52                 //获取文件扩展名 53                 string fileExt = Path.GetExtension(imgFile.FileName).ToLower(); 54                 if (String.IsNullOrEmpty(fileExt) || Array.IndexOf(((String)extTable[dirName]).Split(','), fileExt.Substring(1).ToLower()) == -1) 55                 { 56                     showError("上传文件扩展名是不允许的扩展名。\n只允许" + ((String)extTable[dirName]) + "格式。"); 57                 } 58                 //创建文件夹 59                 savePath.Append(dirName + "/"); 60                 string serverPath = Common.PathHelper.MapPath(savePath.ToString()); 61                 if (!Directory.Exists(serverPath)) 62                 { 63                     Directory.CreateDirectory(serverPath); 64                 } 65                 String newFileName = timeString + fileExt; 66                 String filePath = serverPath + newFileName; 67                 //保存到服务器端 68                 imgFile.SaveAs(filePath); 69                 savePath.Append(newFileName); 70                 //文件相对网站的虚拟路径 71                 String fileUrl = savePath.ToString(); 72                 if (String.IsNullOrEmpty(flag)) 73                 { 74                     fileUrl = aspxUrl + savePath.ToString(); 75                 } 76                 Hashtable hash = new Hashtable(); 77                 hash["error"] = 0; 78                 hash["url"] = fileUrl; 79                 context.Response.AddHeader("Content-Type", "text/html; charset=UTF-8"); 80                 context.Response.Write(Common.ConverterHelper.ObjectToJson(hash)); 81                 context.Response.End(); 82  83             } 84             catch (System.Threading.ThreadAbortException) 85             { 86  87             } 88             catch (HttpException ex) 89             { 90                 //context.Response.Write("Error"); 91                 //记录日志 92                 new Common.LogHelper(typeof(UploadFileHandler)).Error(ex); 93             } 94             catch (Exception ex) 95             { 96                 //context.Response.Write("Error"); 97                 //记录日志 98                 new Common.LogHelper(typeof(UploadFileHandler)).Error(ex); 99             }100         }101 102 103         private void showError(string message)104         {105             Hashtable hash = new Hashtable();106             hash["error"] = 1;107             hash["message"] = message;108             Response.AddHeader("Content-Type", "text/html; charset=UTF-8");109             Response.Write(Common.ConverterHelper.ObjectToJson(hash));110             Response.End();111         }
UploadFileHandler Code
  1 using System;  2 using System.Collections;  3 using System.Collections.Generic;  4 using System.IO;  5 using System.Text.RegularExpressions;  6 using System.Web;  7 using System.Web.SessionState;  8   9 namespace Webapplication1.Admin 10 { 11     public class FileManagerHandler : IHttpHandler,IRequiresSessionState 12     { 13         public void ProcessRequest(HttpContext context) 14         { 15             //验证权限 16             if (context.Session["User"] == null) 17             { 18                 context.Response.Write("no permission"); 19                 context.Response.End(); 20                 return; 21             } 22             //从配置文件中读取网址信息 23             String aspxUrl = Common.Config