有3个页面a,b,c
我在a页面中打开b页面
再在b页面中的后台代码中用response.redirect跳到c
现在我关闭c,希望能更新页面a中GridView中的数据请问大家该如何实现 谢谢!

解决方案 »

  1.   

    有3个页面a,b,c 
    我在a页面中打开了b页面来查看详细信息
    然后在b页面中用response.redirect跳到了c,并修改a页面显示的数据 
    现在我关闭c页面,希望能更新页面a中GridView显示的数据 
      

  2.   

    你这样做  有一中方法解决 就是ajax技术 如果可以就用ajax技术 用ajax就不用更新
    如果不了解Ajax技术   
     那么如果要实现页面数据的更新 我觉得首先页面必须刷新
    那么这样子  你在关闭c页面的时候 也写一个response.redirect("a.aspx")
    这样就 可以实现
      

  3.   

    这样做会出现2个a.aspx页面
    一个是原来的
    一个是新跳到的页面
    那么该怎么关掉原来那个页面呢
    谢谢!
      

  4.   

    你可以用客户端Javascript脚本来刷新整个页面,从而达到跳转到a.aspx的效果:
    c.aspx:
      ...
    <html>
      ...
    <body runat="server" onUnload="javascript:top.location='a.aspx';">
     ...
    </body>
    </html>
      

  5.   

    哦,不对,aspx的body中没有runat,onunload也不是大写的,更正一下:<body onunload="javascript:top.location='a.aspx';">
      

  6.   

    那就不要写在unload事件里了,你在c.aspx中放一个按钮:
    <input type="button" value="close Page C" onclick="javascript:top.location='a.aspx';" />
      

  7.   

    知道难搞还不加点分是~~~晕S,你也不说明在a.aspx中是如何打开b的?<iframe>? 弹出窗口?
    我用<iframe>来测试了是可以的,<frameset>应该也可以
    但是如果你用弹出窗口,估计就要用到ajax了,c.aspx关闭之前调用ajax返回服务器一个标志,a.aspx里也要定时用ajax来刷新服务器标志,当服务器标志改变时,说明c.aspx已经关闭,需要刷新本页面
    还有一个更简单的办法,你只要保证a.aspx是用window.open打开的,并且取了名字,就可以在关闭c.aspx的时候刷新了:
    1.打开a.aspx:
    假设你总是通过 x.aspx 的button1来打开a.aspx的:
    x.aspx:
    <input type="button" value="open a.aspx" onclick="javascript:window.open('a.aspx','win_a');" />
    这就表示浏览器窗口win_a中的页面就是a.aspx,先记住 win_a,后面就要用它来找到a.aspx了
    2.不管你的c.aspx是通过b.aspx跳转,还是从其它页面打开,反正,当c.aspx关闭时(不管是按button关闭还是点窗口X关闭),就去刷新win_a窗口:
    c.aspx:
    <body onunload="javascript:window.open('a.aspx','win_a');">
     还是上面的onunload :) 
    这样只要保证a.aspx总是在win_a中打开,c.aspx关闭时就能触发刷新win_a的事件来达到刷新a.aspx的效果!
      

  8.   

    首先谢谢楼上的朋友补充几点:
    1、我是用Response.Redirect的方式跳到了a页面,没有利用open方法
    2、a页面打开b页面的方法是window.open
    3、b页面是Response.Redirect的方式跳到c页面
      

  9.   

    那就用Cookie的方式吧
    a里设一个cookie,随时看着,如果它的值为某个特定值,则表示自己需要刷新
    c在关闭的时候,改变cookie的值,告诉a需要刷新
      

  10.   

    谢谢楼上的朋友,问题已经解决了哈
    原来是用javascript取的对象错了
    现在看能不能给你补加分
      

  11.   

    onunload ="javascript:window.opener.location.reload()";