蛙蛙请教:如何把一个dataset从这个页面传到那个页面
我做一个高级查询,客户点击查询连接的时候弹出一个窗口,用户在弹出窗口的表单里填入搜索关键字,点确定后,要让父页上的DataGrid获取弹出窗口上生成的那个DataSet用来做数据源并绑定,除了用cache,session,webserivice,还有直接向父窗口传递表单参数的方法外,还有没有其它简单的办法呀?
我想这个问题应该是很常见的吧,大家给想想法儿哦,谢谢

解决方案 »

  1.   

    我想这个页直接引用那个页上的控件的值,不知道怎么弄哦,呱呱,我记得asp.net也可以模拟页面继承的,而且用javascript也可以跨页引用对象的,但是在vs.net里面怎么操作呀,我需要把弹出窗口整个页面输入控件的值都传递到父页上面,呱呱,怎么弄呀,是不是用request.form呀
      

  2.   


       我觉得你这个做法不好,如果你哪个弹出窗口只传回一个搜索关键字的话,你为什么不将弹出窗口的搜索关键字传回,然后在父窗口绑定数据!
       用javascript传回关键字的值!
      

  3.   

    呱呱,弹出窗口有30多个控件,要传递30多个值,如果用查询字符串的话,我一怕编码问题,处理比较麻烦,也不安全,而是怕长度超出限制,如果用form来传的话,我不知道父窗口怎么知道弹出窗口什么时候传递了参数,并获取这些弹出窗口的request.form
      

  4.   

    或者传回一条sql语句也好啊你在grid绑定的方法里加一个sql的参数,然后从弹出的窗口获得sql语句
      

  5.   

    天涯姐姐说的对,在ASP里做查询分页的时候也是用session维持一个sql字符串来保证翻页的时候还保持recordset的,可是在这里你说父窗口怎么获取弹出窗口的request.form参数呀,它不会自动刷新,然后获取参数吧,我知道在弹出窗口里可以用opener来获取对父窗口的引用,但是如果这样显式的用参数传递一条sql语句的话,不安全吧,用viewstate又不能跨页传,只能用session了,可是这个session什么时候去除呀,不自动去除 ,老占着资源页不行呀
      

  6.   

    问题解决了
    在弹出的窗口里的一个按钮上做以下脚本,父窗口的页面教list_suo.aspx,注意不要用reload()哦,否则会有提示的。
    private void Button1_Click(object sender, System.EventArgs e)
    {
    Session["searchsql"]="select";
    string script="<script>window.opener.location.href('list_suo.aspx');window.close();</script>";
    Response.Write(script);
    }
    在父窗口list_suo.aspx的page_load事件里做以下处理
    if(Session["searchsql"]!=null)
    {
    Response.Write("<script>alert('dd');</script>");
                    Session.Remove("searchsql");

      

  7.   

    呵呵呵呵,kdg2000(天涯) 我爱你!!!!!!
      

  8.   

    just so so,不知道性别的情况下一律先叫姐姐
      

  9.   

    onlytiancai(谁染枫林醉)  是不是长沙人啊?
      

  10.   

    那 是不时可以说  onlytiancai(谁染枫林醉) ( ) 信誉:100  妹妹 哈哈