不能执行已释放 Script 的代码

ASP.NET相关技术交流群205914059

我在父页面里定义了一个全局变量 Exp2  在打开子页面的时候 我读取父页面的Exp2 值 给子页面的函数做配置参数。

子页面

function CreateGv()
 {       
        lw=null;
        lw=new ListView("Maindiv","RightMenu","PopMenu");
        lw.ID="lview"

        if(parent.Exp2!="")
        {
            lw.ShowFeildCheckList=parent.Exp2;//获取父页面变量值
        }  

}

当子页面发生变化以后 在给父页面这哥变量重新赋值。

//给父页面赋值

function Funstrart(obj)
    {
        if(obj=="1")
        {
            parent.Exp2=lview.ShowFeildCheckList
            alert("保存成功");
        }
        else
        {
            alert("保存失败");
        }
    }

然后在刷新子页面  就出现了 不能执行已释放 Script 的代码。

后来把代码改成

function Funstrart(obj)
    {
        if(obj=="1")
        {
           
           var value="";
           value=lview.ShowFeildCheckList+"";
           parent.Exp2=value;
            alert("保存成功");
        }
        else
        {
            alert("保存失败");
        }
    }

问题解决了。以我自己的判断很有可能是因为 :

以对象的方式给父页面变量赋值以后,

实际上很有可能是只把内存指针给了父窗口变量 当本页的刷新以后指针消失所以出现了这个错误。

posted @ 2011-06-17 16:47  zhaosazi77  阅读(4379)  评论(0编辑  收藏  举报