jQuery MiniUI

 找回密码
 立即注册
查看: 5514|回复: 12
打印 上一主题 下一主题

datagrid 更新数据失败 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2015-1-16 13:52:20 |只看该作者 |倒序浏览
  mini.open({
        url: "WfFlowStep.aspx?Type=" + Type,
        onload: function() {
                var data = parent.getStepNameId();
                var iframe = this.getIFrameEl();
                var cbox = iframe.contentWindow.mini.get("cbox2");
                cbox.setData(data);
        },
        ondestroy: function(action) {
            var iframe = this.getIFrameEl();
            var data = iframe.contentWindow.NewStepObj;
            var grid = mini.get("datagridStepMsg");
          if (action == "update") {
                var selectRow = grid.getSelected();
                var updateRow = { Data: null }; //,where:data.data
                grid.updateRow(selectRow, updateRow);
            }
        }
    });
在最后红色的步骤会 报错,提示说
SCRIPT5011: 不能执行已释放 Script 的代码
miniui.js, 行8 字符325554
求解 怎么解决?是什么原因?(在IE10中会报该错误)

Rank: 8Rank: 8

沙发
发表于 2015-1-16 14:25:54 |只看该作者
请提供一个能完整重现问题的简单页面

Rank: 3Rank: 3

板凳
发表于 2015-1-16 14:42:12 |只看该作者
dforce 发表于 2015-1-16 14:25
请提供一个能完整重现问题的简单页面

页面一
<html>
<body>
<javascript>
mini.open({
        url: "WfFlowStep.aspx?Type=" + Type,
        onload: function() {
                var data = parent.getStepNameId();
                var iframe = this.getIFrameEl();
                var cbox = iframe.contentWindow.mini.get("cbox2");
                cbox.setData(data);
        },
        ondestroy: function(action) {
            var iframe = this.getIFrameEl();
            var data = iframe.contentWindow.NewStepObj;
            var grid = mini.get("datagridStepMsg");
          if (action == "update") {
                var selectRow = grid.getSelected();
                var updateRow = { Data: null }; //,where:data.data
                grid.updateRow(selectRow, updateRow);
            }
        }
    });
</javascript>
<input type='button' onclick="ShowStep()" />
<div id="datagridStepMsg" class="mini-datagrid" style="width: 99%;" onrowdblclick="stepRowClick"
                        url="/Ajax/WorkFlowDetail.ashx" idfield="FID" allowresize="true" showfooter="false"
                        allowcellselect="true" allowmovecolumn="false">
                        <div property="columns">
                            <div field="StepName" width="" headeralign="center" align="left">
                                步骤名称</div>
                            <div field="StepNote" width="" headeralign="center" align="left">
                                步骤描述</div>
                            <div field="StepTypeID" width="" visible="false" headeralign="center" align="left">
                                类型ID</div>
                            <div field="StepTypeName" width="" headeralign="center" align="left">
                                类型</div>
                            <div field="FID" width="" visible="true" headeralign="center" align="left">
                                FID</div>
                            <div field="Data" width="" visible="false" headeralign="center" align="left">
                                Data</div>
                        </div>
                    </div>
<body>
<html>

页面二
<html>
<body>
    <div id="form1">
</div>
</html>


差不多就是这个样子了

Rank: 8Rank: 8

地板
发表于 2015-1-16 15:02:04 |只看该作者
stone1314 发表于 2015-1-16 14:42
页面一


按照你的代码写了一下貌似没报错,你测试一下
一般报你那个错误是引用到关闭页面的数据了,看你贴的代码又好像没用到

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 3Rank: 3

5#
发表于 2015-1-16 15:21:10 |只看该作者
dforce 发表于 2015-1-16 15:02
按照你的代码写了一下貌似没报错,你测试一下
一般报你那个错误是引用到关闭页面的数据了,看你贴的代码 ...




  也是有的

碰见这样的情况 怎么弄呢?
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

6#
发表于 2015-1-16 15:30:34 |只看该作者
stone1314 发表于 2015-1-16 15:21
也是有的

碰见这样的情况 怎么弄呢?

ondestory里面
var data=iframe....
var newData=mini.clone(data)  克隆一下,后面用这个数据看看

Rank: 3Rank: 3

7#
发表于 2015-1-16 15:52:01 |只看该作者
dforce 发表于 2015-1-16 15:30
ondestory里面
var data=iframe....
var newData=mini.clone(data)  克隆一下,后面用这个数据看看 ...

好奇怪    我直接走“  var grid = mini.get("datagridStepMsg");
                            var selectRow = grid.getSelected();
                             var updateRow = { Data: null }; //,where:data.data
                            grid.updateRow(selectRow, updateRow); ”
更新列的时候才报  那个错,引用数据的代码我都注释掉了

Rank: 8Rank: 8

8#
发表于 2015-1-16 16:05:08 |只看该作者
stone1314 发表于 2015-1-16 15:52
好奇怪    我直接走“  var grid = mini.get("datagridStepMsg");
                            var sel ...

我发那个例子也会报你那个错误吗?
本地测试没问题的

Rank: 3Rank: 3

9#
发表于 2015-1-16 16:07:29 |只看该作者
dforce 发表于 2015-1-16 16:05
我发那个例子也会报你那个错误吗?
本地测试没问题的

嗯  你发的例子 没问题的

Rank: 3Rank: 3

10#
发表于 2015-1-16 16:24:21 |只看该作者
dforce 发表于 2015-1-16 16:05
我发那个例子也会报你那个错误吗?
本地测试没问题的

我在想  是不是 grid控件 是不是 被占用着  所以报这个错?

Archiver|普加软件

GMT+8, 2024-6-16 06:29 , Processed in 1.053897 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部