//aa是传递的参数string strJava;
strJava = "<script>window.parent.FrameMain.location.href='Main.aspx?aa=123;window.close();</script>";
this.RegisterClientScriptBlock("key",strJava);

解决方案 »

  1.   

    你的三角也不少我就不详细说明了告诉你几个东东你应该可以理解的1)window.opener 就是打开当前窗口的父窗口,比如a.aspx 中 window.open('b.aspx'),在b.aspx 要调用父窗可以用:
    window.opener.location.href= 'a.aspx?bUrl=' + escape(this.location.href);要调用 a.aspx 窗体其它框架,可用:window.opener.top.框架名.location.href="about:blank";2)而在关闭时要触发可以在body 中使用unload 事件
    比如b.aspx<body onunload="window.opener.top.FrameMain.location.href='Main.aspx?参数1=参数'">
      

  2.   

    coolmars(mars):
    this.RegisterClientScriptBlock("key",strJava);
    这段代码写到A(a.aspx)页面中吗?它是什莫意思我不太明白!
      

  3.   

    coolmars(mars) 的方法不行,原因有1)在a.aspx 一载入时就会生效并不会达到关闭时才触发的要求
    2)a.aspx 是在一个新窗口并不在同一框架,所以只能使用window.openerRegisterClientScriptBlock 作用是将strJava 做为javascript 脚本写到a.aspx,和手工写一样,手工更真观
      

  4.   

    解决方法我上面不是说了?你三角哪混来的,晕直接在你的a.aspx 中的body 加入<body onunload="window.opener.top.FrameMain.location.href='Main.aspx?参数1=参数'">
      

  5.   

    ArLi2003(阿利 无业悠民):
    <body onunload="window.opener.top.FrameMain.location.href='Main.aspx?参数1=参数'">
    我写的参数是个变量,怎莫通过C#写到<body>中!??
      

  6.   

    我要传的是两种情况的参数:在A(a.aspx)中点击“确定”按钮传回“1”;在A(a.aspx)中点击“取消”按钮传回“0”!还望多多指点!
      

  7.   

    哭你不会在程序里直接用:<body onunload="window.opener.top.FrameMain.location.href='Main.aspx?参数1="<%response.write(MyVar)%>'">其中的MyVar 就是你在C#里的参数。。例 a.aspx 内容如下,比如你要传MyVar 参数:<html><script>
    var a = "<%response.write(MyVar)%>";
    function reHref(Obj){
     var str = "";
     str += "a=" + a; //第一个参数,来自C#代码
     str += "&b=" + Obj; //第二个参数,就是你要的确定取消
     window.opener.top.FrameMain.location.href='Main.aspx?' + str;
    }
    </script>
    <body onunload="reHref(0)"><input type="button" name="btn1" value="确定" onclick="reHref(1)">
    <input type="button" name="btn1" value="取消" onclick="reHref(0)"></body>
    </html>