一共牵扯到3个页面,一个购物流程
My_goldland.aspx   父窗口(有个购物车的商品数量,用session存储)  内含iframe用来显示下面2个页面
orderInfo.aspx   订单的提交页面
successful.aspx   订单提交成功后显示的提示页面
当orderInfo.aspx 提交按钮点击后。清空父窗口的session就是购物车数量为零 然后显示成功提示页面successful.aspx。My_goldland.aspx <iframe src="MyOrders.aspx" name="mainFrame" id="mainFrame" width="100%" frameborder="0"
                scrolling="no" runat="server"></iframe>            <script type="text/JavaScript">
function reinitIframe(){
var iframe = document.getElementById("mainFrame");
try{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height = height;
}catch (ex){}
}
window.setInterval("reinitIframe()", 200);
            </script>orderInfo.aspx 提交事件                //父窗口刷新,页面不跳转
             Response.Write("<script type='text/javascript'>window.parent.location.reload();     window.location.href='successful.aspx?OrderNumId=" + orderNumId + "'</script>");这种写法: 父窗口的购物数量显示为零了,但是没跳到successful.aspx这个页面,还是显示orderInfo.aspx

解决方案 »

  1.   

    MyOrders.aspx这个页面为默认的一个订单列表 与上面的无关系
      

  2.   

    当你执行
    window.parent.location.reload();
    这句的时候,iframe就关闭了。
    window.location.href='successful.aspx'是不会再执行了
      

  3.   

    本帖最后由 net_lover 于 2010-12-07 16:35:10 编辑
      

  4.   

    直接跳转时不行的,不过可以在父窗体上定义一个参数,例如act=success,当有这参数时iframe中加载成功页面,这样订单提交后跳转到"父窗体.aspx?act=success",这样父窗体接收到这个参数自动设置iframe的src为成功页面