我想在我上次弄的(mvc)工程 (不是上次发的那个) 里使用kindeditor, 出了各种问题, kindeditor 中带的在.net 中的使用demon是 webForm, 我将代码复制过来, 但我用的是4.0,有一些库找不到,上传图片时,它会进行http访问 ,也要返回控制器, 路由也不知怎么弄, 我发我的工程给你看下, 要怎么改访问路径, 要怎么写那个保存图片的路由 (现在也比较急,没什么进展,希望有空帮下忙咯,谢谢遐想)我发到你上次那个邮箱
代码在哪儿?
在这里上传得了工程吗?
@韦锦业: 你现在遇到的主要是什么问题,把用到编辑器的页面代码发上来吧
@artwl: 嗯,等下
@artwl: 页面原代码是这样的:<script type="text/javascript">
KindEditor.ready(function (K) {
var editor1 = K.create('#content1', {
cssPath: '../plugins/code/prettify.css',
uploadJson: '../asp.net/UploadImage',
fileManagerJson: '../asp.net/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> 但用mvc, uploadJson: '../asp.net/UploadImage',
fileManagerJson: '../asp.net/file_manager_json.ashx', 这里应该要改为路由,我改为 uploadJson: '/News/UploadImage',
我的控制器是在 NewRelease 里的一个News里面的,(访问不到里面)
public ActionResult UploadImage(HttpContext context)
{
return View();
}
上面的/News/UploadImage 是错的(上传图片时),出这个错
如果改了,可以访问到路由,还要怎么处理httpcontext呢
@韦锦业: 我的kindeditor是放在web项目里的context里的
@artwl: addNews.aspx页面代码:
<meta charset="utf-8" />
<link rel="Stylesheet" type="text/css" href="../../../Content/kindeditor-v4.0.6/themes/default/default.css" />
<link rel="Stylesheet" type="text/css" href="../../../Content/kindeditor-v4.0.6/plugins/code/prettify.css" />
<script type="text/javascript" charset="utf-8" src="../../../Content/kindeditor-v4.0.6/kindeditor.js"></script>
<script type="text/javascript" charset="utf-8" src="../../../Content/kindeditor-v4.0.6/lang/zh_CN.js"></script>
<script type="text/javascript" charset="utf-8" src="../../../Content/kindeditor-v4.0.6/plugins/code/prettify.js"></script>
<script type="text/javascript">
KindEditor.ready(function (K) {
var editor1 = K.create('#content1', {
cssPath: '../plugins/code/prettify.css',
uploadJson: '/News/UploadImage',
fileManagerJson: '../asp.net/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>
<title></title>
</head>
<body>
<div>
<%Html.RenderPartial("addNewsControl"); %>
<form runat="server">
<textarea cols="100" rows="8" runat="server"></textarea>
<br />
<input type="submit" runat="server" value="提交内容" /> (提交快捷键: Ctrl + Enter)
</form>
</div>
</body>
</html>
@artwl: 你有没有时间呢,如果有我想发工程给你帮我看下咯(我邮箱是753758313qq.com,发条信息来,我发过去),谢谢,
有空的帮我做个Demon也好,谢谢咯,(一直在纠结呢)
@韦锦业: 我在看,稍等
@韦锦业: 我看了一下代码,因为MVC中FORM表单的提交跟ASP.NET中不同,如果要用编辑器的上传图片按钮要修改插件的源代码(image.js)。
建议你模仿博问的做法,自己写上传图片代码,这样更灵活
关于MVC上传图片:http://www.cnblogs.com/Music/archive/2011/04/25/asp-net-upload-image-and-save-thumbnail-image.html
@artwl: 因为这个图片也是和文本混排的, 如果自己写的, 应该就是这个博客页面的回复的这个例子一样, 也是要返回数据, 返回到这个页面, 这个form要怎么写,
@韦锦业: 在一个弹出窗口中上传图片,然后取到上传的图片的路径,然后把图片路径添加到编辑器中
@artwl: onclick="OpenWindow('http://pic002.cnblogs.com/upload_pic.aspx?returnUrl=http://q.cnblogs.com/InsertToEditor.htm',550,300,200);return false;" href="javascript:void(0)"> 这个在upload_pic.aspx的控制器里返回是的什么数据, 返回后是Kindeditor自动添加到编辑器中的吗?
@韦锦业: 不是的,这个不是MVC的,http://pic002.cnblogs.com/upload_pic.aspx 这个页面是传统的ASP.NET页面,你可以改为MVC模式,返回的图片地址要调用编辑器插入数据命令进行插入。
另外博问用的不是kindeditor,用的是tinymce
@韦锦业: 今天写了一个 ASP.NET MVC3 AJAX 上传图片示例 你可以看看,然后把返回的图片地址插入到你的代码编辑器中就OK了
@artwl: 嗯,谢谢,我去试下
@artwl:
4.0里面不能这样用,要怎么获取Files啊
@韦锦业: 错误信息中不是提示了吗,要添加一个程序集:System.Web.Abstractions
@artwl: 嗯,上次找不到命名空间- -
我简单写了一下步骤,希望能对你有所帮助。
http://www.cnblogs.com/weicong/archive/2012/03/31/2427608.html
谢谢,现在主要是控制器里怎么获取files然后保存, 你试过不呢
@韦锦业: 贴了一下 KindEditorHandlerController 的代码
@魏聪: 找到问题了,都是自己太过忽略了,3Q
fileManagerJs
on: '../asp.net/file_manager_json.ashx',
@artwl: 嗯,谢谢,我去试下
@artwl:
4.0里面不能这样用,要怎么获取Files啊