jQuery MiniUI

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

iframe: 对象不支持“SetData”属性或方法 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2013-5-20 09:33:07 |只看该作者 |倒序浏览
本帖最后由 YES 于 2013-5-20 09:43 编辑

求助
不明白为什么     iframe.contentWindow.SetData(data);时提示这个错误
0x800a01b6 - JavaScript 运行时错误: 对象不支持“SetData”属性或方法

----------------------问题二
在mvc中绑定datagrid的时候,单步调试的话就能绑定出数据,当直接运行的时候就没有数据,很奇怪;方法中只有一个用户id参数

Rank: 8Rank: 8

沙发
发表于 2013-5-20 10:05:19 |只看该作者
SetData()是子页面自定义的方法

你没有定义当然报错了

Rank: 1

板凳
发表于 2013-5-20 11:14:30 |只看该作者
factory 发表于 2013-5-20 10:05
SetData()是子页面自定义的方法

你没有定义当然报错了

在mvc中绑定datagrid的时候,单步调试的话就能绑定出数据,当直接运行的时候就没有数据,很奇怪;方法中只有一个用户id参数
view:
<div class="mini-fit" >
    <div id="GridNoticeManage" class="mini-datagrid"  allowResize="true" style="width:100%;height:100%;"
        url="/SystemCore/Notice/GetNoticesByUserId"  multiSelect="true"  idfield="NOTICEID">
        <div property="columns">
            <div type="checkcolumn" ></div>        
            <div field="NOTICETITLE" width="120"  allowSort="true">标题</div>   
            <div field="NOTICETYPE" width="120"  allowSort="true">通知类别</div>   
            <div field="status" width="120" allowSort="true">状态</div>   
            <div field="CreateTime" width="120"  dateFormat="yyyy-MM-dd" allowSort="true">创建时间</div>   
            <div field="Writer" width="120"  allowSort="true">创建人</div>   
            <div field="verifier" width="120"  allowSort="true">审核人</div>   
        </div>
    </div>
   
    </div>

control:
public JsonResult GetNoticesByUserId()
        {
            string userid = "111";
                IEnumerable<T_INFO_Notice> list = bll.GetNoticeByUserId(userid).ToList();
                return Json(list);
           
        }

Rank: 1

地板
发表于 2013-5-20 14:18:52 |只看该作者
factory 发表于 2013-5-20 10:05
SetData()是子页面自定义的方法

你没有定义当然报错了

求助
在子页面定义了,还是报错
view:
function addNotice() {

            mini.open({
                //url: bootPATH + "AddNotice",
                url: "SystemCore/Notice/AddNotice",
                title: "创建通知", width: 600, height: 600,
                onload: function () {
                    var iframe = this.getIFrameEl();
                    var data = { action: "new" };
                    alert(iframe);
                    alert(data);
                    iframe.contentWindow.SetData(data);
                },
                ondestroy: function (action) {

                    grid.reload();
                }
            });
        }
子页面:
  //标准方法接口定义
        function SetData(data) {
            if (data.action == "edit") {
                //跨页面传递的数据对象,克隆后才可以安全使用
                data = mini.clone(data);

                $.ajax({
                    url: "/SystemCore/Notice?method=GetEntityByID&id=" + data.id,
                    cache: false,
                    success: function (text) {
                        var o = mini.decode(text);
                        form.setData(o);
                        form.setChanged(false);

                        //onDeptChanged();
                        //mini.getbyName("position").setValue(o.position);
                    }
                });
            }
        }

Rank: 8Rank: 8

5#
发表于 2013-5-20 14:24:37 |只看该作者
YES 发表于 2013-5-20 14:18
求助
在子页面定义了,还是报错
view:

报什么错

Rank: 1

6#
发表于 2013-5-20 14:33:32 |只看该作者
factory 发表于 2013-5-20 14:24
报什么错

未经处理的异常,行 109,列 21,在 http://localhost:59262/SystemCore/Notice/NoticeManage?_t=32042 中

0x800a01b6 - JavaScript 运行时错误: 对象不支持“SetData”属性或方法

Rank: 8Rank: 8

7#
发表于 2013-5-20 16:47:17 |只看该作者
YES 发表于 2013-5-20 14:33
未经处理的异常,行 109,列 21,在 http://localhost:59262/SystemCore/Notice/NoticeManage?_t=32042  ...

你检查下,是不是SetData()写错地方了,还是什么

这个应该是写在弹出的子页面上的

Rank: 1

8#
发表于 2013-5-22 09:00:11 |只看该作者
factory 发表于 2013-5-20 16:47
你检查下,是不是SetData()写错地方了,还是什么

这个应该是写在弹出的子页面上的 ...

解决了,是因为子页面的其他地方赋值写错了导致的,多谢了

Archiver|普加软件

GMT+8, 2024-11-28 13:32 , Processed in 1.050439 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部