我现在的情况不是像上面那位兄弟这么简单
现在在webform2包含在webframe页中,也就是在webframe中有大概这样的html代码<body><frame sur="webform2.aspx"/> </body> 在webform1中弹出窗口webframe,显然webframe页是可以很容易得到webform1中textbox值的 但是 webform2如何从webframe中得到那个值呢

解决方案 »

  1.   

    form1:
     button1 click事件:
       string script = "<script> window.open('form2.aspx');</script>";
       Response.Write(scritp);form2:
      javascript:
        function popup()
         {
           window.opener.document.all["form1中textbox的id"].Value=document.all["form2中textbox的id"].Value;
           window.close();
           }
      

  2.   

    可以使用Application特性来存储你的TextBox值也可以使用全局变量来存储TextBox的值当然还可以使用Session来存储,不过有点浪费,参考!
      

  3.   

    如果说用session来存储是浪费的话,那么用application就更浪费了.要知道前者只是对单个用户的一个变量,而后都却是对所有用户的一个全局变量.
      

  4.   

    这种问题不能用session和application
    document.all["form2中textbox的id"].Value=window.parent.opener.document.all["form1中textbox的id"].Value
      

  5.   

    通常页面间传值就几种方式:
    1。QueryString, 最简单的,比较通用2。javascript, 如果两个页面的窗体之间能互相引用到3。Session , 也是很简单的,但是耗费服务器资源。搂主可以根据自己的情况自行斟酌
      

  6.   

    使用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;
    }