asp.net 的文本编辑器kindeditor的使用
1、作用:
在.net开发过程中,经常需要文章信息发布功能,常用的开源的文本编辑器ckeditor和kindeditor等。kindeditor是一款比较好用的编辑插件,功能齐全。
2、代码
<%@ Page Language="C#" AutoEventWireup="true" validateRequest="false" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
this.Literal1.Text = Request.Form["content1"];
}
</script>
<!doctype html>
<html>
<head runat="server">
<meta charset="utf-8" />
<title>KindEditor ASP.NET</title>
<link rel="stylesheet" href="webEditor/themes/default/default.css" />
<link rel="stylesheet" href="webEditor/plugins/code/prettify.css" />
<script charset="utf-8" src="webEditor/kindeditor.js"></script>
<script charset="utf-8" src="webEditor/lang/zh_CN.js"></script>
<script charset="utf-8" src="webEditor/plugins/code/prettify.js"></script>
<script>
KindEditor.ready(function(K) {
var editor1 = K.create('#content1', {
cssPath : 'webEditor/plugins/code/prettify.css',
uploadJson : 'webEditor/upload_json.ashx',
fileManagerJson : 'webEditor/file_manager_json.ashx',
allowFileManager : true,
afterCreate : function() {
var self = this;
K.ctrl(document, 13, function() {
self.sync();
K('form[name=example]')[0].submit();
});
K.ctrl(self.edit.doc, 13, function() {
self.sync();
K('form[name=example]')[0].submit();
});
}
});
prettyPrint();
});
</script>
</head>
<body>
<asp:Label ID="Label1" runat="server" Text="">
</asp:Label>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
<form id="example" runat="server">
<textarea id="content1" cols="100" rows="8" style="width:700px;height:200px;visibility:hidden;" runat="server"></textarea>
<br />
<asp:Button ID="Button1" runat="server" Text="提交内容" /> (提交快捷键: Ctrl + Enter)
</form>
</body>
</html>
kindeditor一个比较给力的WYSISG编辑器,比较给力,爆米花工作室提供的网站中,kindeditor基本上是标配。然而,kindeditor缺失一个比较重要的功能:上传附件,虽然有上传图片的功能与上传附件类似,但上传附件功能的缺失造成了一定的影响,于是,只有将自己弄了。
比较幸运的是,kindeditor基于插件的设计,扩展方便,整一个插件很简单,于是,本文参照上传图片插件,并参考了网上的一些资料,完成了一个简单的上传附件的插件。
功能限定
上传附件插件允许*.zip和*.rar的文件,上传到编辑器目录的attached目录下,附件上传完成后,编辑器的文本中,添加一个“下载附件”链接,指向上传的附件,服务器端为.net环境。
插件开发
(1) 基本配置
kindeditor的脚本文件kindeditor.js的KE.lang中,添加accessory : '插入附件'
invalidAccessory: "请上传有效的文件,只允许rar,zip格式。"KE.lang通过JSON格式,定义了“语言资源”。
(2) 上传附件的对话框HTML文件
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Accessory</title>
<style type="text/css">
body { font-size: 12px; margin: 0px; background: #F0F0EE; overflow: hidden; }
</style>
<script type="text/javascript">