在一个页面上点击一个按钮,在它上面弹出一个它的子页面,同时传给它一个对象。
然后,子页面按确定后关闭,有将这个传过来的对象传回去。
怎么实现啊?老大们

解决方案 »

  1.   

    什么父页子页?
    你意思是用window.open窗口?
    那是两个页面.不过你可以用javascirpt:window.opener来访问前一个页的控件值.
    至于对象,就比较麻烦了,用Session.
      

  2.   

    父页面
    <script language="jscript">
    function opennewweb(){
     window.open("aaa.aspx?id="+xxx.value+"","","width=350,height=380","");
    }
    </script>子窗口:
    private void Btclose_Click(object sender, System.EventArgs e)
    {
    string newUrl = "&id2=" + bbb.Text;//加“&”是 如果之前父页面已经传递参数
    Response.Write("<script language='javascript'>");
    Response.Write(" window.opener.location.href=window.opener.location.href +\""+ newUrl+"\" ; ");
    Response.Write(" window.close(); ");
    Response.Write("</script>");
    }
      

  3.   

    如果父页面之前传值的参数跟子窗口传回的参数是一个的话,用url传值就有点麻烦了!
      

  4.   

    To:baobei7758(陵少) 你这样只是传了个值啊,有传对象的方法吗?
      

  5.   

    使用Server.Transfer 
    这个方法相比上面介绍的方法稍微复杂一点,但在页面间值传递中却是特别有用的,使用该方法你可以在另一个页面以对象属性的方式来存取显露的值,当然了,使用这种方法,你需要额外写一些代码以创建一些属性以便可以在另一个页面访问它,但是,这个方式带来的好处也是显而易见的。总体来说,使用这种方法是简洁的同时又是面向对象的。使用这种方法的整个过程如下: 
    1,在页面里添加必要的控件 
    2,创建返回值的Get属性过程 
    3,创建可以返回表单的按钮和链接按钮 
    4,在按钮单击事件处理程序中调用Server.Transfer方法转移到指定的页面 
    5,在第二个页面中,我们就可以使用Context.Handler属性来获得前一个页面实例对象的引用,通过它,就可以使用存取前一个页面的控件的值了 
    以下代码综合实现上述步骤过程的代码: 
    源页面代码: 
    把以下的代码添加到页面中 
    public string Name 

    get 

    return TextBox1.Text; 

    } public string EMail 

    get 

    return TextBox2.Text; 


    然后调用Server.Transfer方法 
    private void Button1_Click 
    (object sender, System.EventArgs e) 

    Server.Transfer("anotherwebform.aspx"); 

    目标页面代码: 
    private void Page_Load 
    (object sender, System.EventArgs e) 

    //create instance of source web form 
    WebForm1 wf1; 
    //get reference to current handler instance 
    wf1=(WebForm1)Context.Handler; 
    Label1.Text=wf1.Name; 
    Label2.Text=wf1.EMail; 
    } 或者使用Session.此方法缺点是消耗服务器内存
    Session["Name"] = "aaa";            //aaa是要传递的值
      

  6.   

    利用Session或ViewState传递,在父窗口添加按钮控件并将隐藏在一个隐藏的<div>中,在子窗口调用按扭的点击事件。
    window.opener.document.form1.btn_Add.click()
      

  7.   

    用window.open弹出的页面有的时候用session是传不过去值的
      

  8.   

    用session啦, 用完就銷毀不就行了
      

  9.   

    用session阿,我的都是用的session,呵呵
      

  10.   

    这个不行啦,如果是使用脚本弹出的菜单,你只能通过脚本去传递,而无法通过服务端的东西来传递(SESSION可以,但容易出问题,而且传递的内容不能太大).
    你应该在两个页面之间,传递要修改的记录的ID,在页面结束之后,控件父页面进行刷新即可