主题: asp.net ajax中调用kindeditor的方法 |
作者: 吴言, 发布日期: 2010-08-31 00:36:35, 浏览数: 8245 |
经过一天一夜的研究,参考了台湾章立民先生的《asp.net AJAX WEB应用开发秘诀》一书,并结合Kindeditor的文档,终于解决了在asp.net ajax UpdatePanel回发时调用kindeditor的问题。现在显示正常,其它功能暂时未测试。具体原来,我自己也是一知半解的,暂时还没有全面了解清楚,总体而言,是和asp.net页面的生命周期有关系,有兴趣的朋友,可自行查阅相关资料。
现将我的解决办法给大家说一下:
先建立一个js文件,命名随意,(我的命名为:ClientEventOrder.js,位置于WEB根目录),内容如下:
var app = Sys.Application; function ApplicationInit(sender) function pageLoad() KE.create('content_1'); function PageLoaded(sender, args) }
然后在aspx文件中调用,代码如下: <asp:ScriptManager ID="ScriptManager1" runat="server" PS:感谢Kindeditor开发人员,几年前我就发现这个漂亮的在线编辑器了,非常喜欢,只是一直没有用。 昨天我差点准备放弃了,使用ajax自带的editor。 但界面实在无法和Kindeditor相比,所以今天又查了一天资料。 现在终于解决了,与大家共享一下。
再次感谢!
|
作者: 夏日寒風, 发布日期: 2010-10-01 21:18:45 |
UpdatePanel我个人认为是个很垃圾的东西,要实现AJAX调用KD,应该还有很多方法
|
回复 |
作者: 脚印, 发布日期: 2011-01-26 17:38:35 |
var app = Sys.Application;
function ApplicationInit(sender) {
var prm = Sys.WebForms.PageRequestManager.getInstance();
if (!prm.get_isInAsyncPostBack()) {
prm.add_pageLoaded(PageLoaded);
}
}
function pageLoad() {
KE.init({
id: 'fContent',
imageUploadJson: '../../upload_json.ashx',
fileManagerJson: '../../file_manager_json.ashx',
allowFileManager: true,
afterCreate: function(id) {
KE.util.focus(id);
}
});
timename = setTimeout("KE.create('fContent');", 50);
}
function PageLoaded(sender, args) {
KE.create('fContent');
}
需要注意红色部分,摸索了一下午
解决第一次加载的时候 不能显示工具栏的问题
|
回复 |
作者: sophia, 发布日期: 2011-08-22 22:45:29 |
setTimeout("KE.create('fContent');", 50);
你的这部分很重要。我是用ajax读取html,而后生成编辑器的,结果编辑器生成了,但是无法获得焦点,点击按钮,都显示报错,只有在点击源代码或者全屏后才可以有焦点,看样子代码必须在等编辑器完全加载完在执行create,我猜的。不过加了你这句,我的确搞定困扰一天的问题啦!谢谢作者!!!!! |
回复 |