如题
我在a页面里的一个按钮里用window.open(b.aspx?id=111&name=222)
在b页面里根据a页面传过来的id=111和name=222查出数据库里对应的quantity=20,并且将id,name和quantity都显示在一个gridview里。
现在想用gridview的选择功能,将这些数据再返回给a页面
如果用window.open和Response.Redirect,都会再打开一个新的a页面,而不是将数据返回给已经打开的a页面。

解决方案 »

  1.   

    用window.showModalDialog将通过url传参将参数传递给b页面,b通过window.returnValue将值返回给a
      

  2.   

    因为onclick已经用来做计算了,onclick事件得出对应的quantity的值
    所以不能用window.XXXX了
    cs文件里应该用什么啊
      

  3.   

    最简单的方法,用session吧。b页面把你选择的数据存入一个session,然后a页面取出这个session的值。b页面:
    session["yourData"] = "selectInfo"//这里传你选择的数据a页面:
    string yourData = (string)session["yourData"];//取得你选取的数据大概是这样。
      

  4.   


    还是更倾向于window.showModalDialog或window.opener这类的,因为选择之后b页面要自动关闭
      

  5.   

    用window.opener或者window.returnValue将quantity这个值返回给a,a怎么来接收呢?
      

  6.   


     string url = "b.aspx?id=" +id;
     Response.Write("<script>window.opener(url)</script>");
      

  7.   

    http://topic.csdn.net/u/20111203/20/25bd3623-6d63-4e7f-b8bd-bdc356d72b48.html里面有我的回答。
      

  8.   

    我觉得用cookie最好用,简单不占用内存!
      

  9.   

    var ret = window.showModalDialog()
      

  10.   

    具体用法参考:http://www.blogjava.net/xlth2006/archive/2009/12/15/306065.html
      

  11.   

    要搞清楚原理啊,这样才能应用自如啊。
    下面是个不刷新的例子
    http://dotnet.aspx.cc/article/00000000-0000-0000-0000-00000000000f/read.aspx