各位高手好,我的环境是vs2005+sqlserver+IE7+windows Xp ,我是在一个框架页面里调用window.open()打开一个窗口A.aspx,我在A.aspx.cs文件里,点击一个button时用Response.Write(" <script language='javascript'>window.close();return false; </script>");语句想关闭窗口时,结果是A.aspx窗口放大了,而且也没被关闭,请大家指点。该段代码如下: 
strSql = "Update Books Set Content='" + content + "' Where id = " + id; 
                cmd.CommandText = strSql; 
                cmd.Connection = myconn; 
                try 
                { 
                    myconn.Open(); 
                    cmd.ExecuteNonQuery(); 
                    myconn.Close(); 
                    Response.Write(" <script language='javascript'>window.close();return false; </script>"); 
                } 
                catch (Exception ex) 
                { 
                    throw new Exception(ex.Message); 
                    Response.Write(" <script language=javascript>alert('操作失败!'); </script>"); 
                }

解决方案 »

  1.   


    Page.ClientScript.RegisterStartupScript(this.GetType(), "MyScript","function closewindow() { window.close();return false; }", true);
      

  2.   

    return false去掉也一样,而且在关闭时会出来是否关闭的提示框
      

  3.   

    把return false;去掉应该行我通常是放个超连接来关闭打开的窗口
      

  4.   

    去掉return false就要出关闭提示了,还有超级链里没法写cs控制代码
      

  5.   

    框架里关闭窗口应该这样吧 
    Response.Write("<script language=javascript>window.opener=null;self.close();</script>");
      

  6.   

    不是在框架里关闭窗口,主界面窗口是框架,也就是说框架里的一个frame里的按钮点击后,弹开一个窗口,我就是要关闭这个被弹开的窗口,对数据进行修改后,点击确认,目的完成窗口关闭,并不出现关闭提示,还要刷新那个frame的页面
      

  7.   

    window.opener=null;window.close()
    这样就不会有关闭的确认窗口了