一个父窗体,一个子窗体,请问,在子窗体的CS代码中,如何访问父窗体的HTML控件值?
(注1:是HTML控件,非asp.net控件)
(注2:子窗体是父窗体Open出来的页面)

解决方案 »

  1.   

    ClientScript.RegisterStartupScript(this.GetType(), "", "<script>document.getElementById('aaa').value=parent.document.getElementById('Id').value; </script>  ");
      

  2.   

    var str=opener.document.getElementById("HTML控件").value;
      

  3.   

    parent.document 就是父窗体的document对象
      

  4.   

    假设 Html 控件名称为 NetControl 
    子窗体定义如下
    public class ChildForm:Form
    {
        private  NetControl  my;
        public void ChildForm()
        {
         }
       //重载构造函数
         public void ChildForm(NetControl)
        {
         this.my=NetControl;
        }
    }
    也可以通过 代理来实现啊 
    这个代码手写的没测试 有问题m我
      

  5.   

    注:是在C#的CS页面读取,不是Js读取,谢谢二楼回答靠谱些.......
      

  6.   

    页面传值
    主页面:Response.Redirect("~/ViewAdditionalCommission.aspx?addPriceID=" + addPriceData.AddPriceID.ToString());子页面
    string strAddPriceID = Request.QueryString["addPriceID"];
      

  7.   

    得分几步获取:
    1.javascript先读取父窗口传过来的值;
    2.子窗体页面用一个隐含域来保存这个值;
    3.cs文件里面用Request来获取隐含域的值;<html>
    <head>
    <script  language=javascript>
    var str=opener.document.getElementById("HTML控件").value;
    document.getElementById("hid").value=str;
    </script>
    <head>
    <body>
    <input type=hidden id="hid">
    </body>
    <html>
    你要取的值=Request["hid"];
      

  8.   


    你也可以用js去到前台的控件中,cs页面读取控件值!
      

  9.   

    CS代码里面直接获取不到该控件的值,用javascript可以获取<script type="text/javascript">
    window.opener.document.getElementById("控件ID").value;</script>如果你要在CS中获取,可以通过打开窗体的window.Open("test.aspx?参数名="+document.getElementById("控件ID").value,......)
    通过URL传入,或者用session,cookie等进行传递
      

  10.   

    各位大侠,小弟在此先谢过首先,我不能用Url传值,因为量太大
    其次,我不能在子窗体的CS中写js,因为获取值后还要进行无数操作,不能用Page方法写js
    然后,我知道JS可以读取,但在CS中没有办法用这个变量,因为我是一堆变量,而且不能用Page写js,我还要后续操作我就是想在open后,获取父窗体的HTML控件值的内容,请问大侠,除了用Session方法外,还有其他可能吗
      

  11.   

    各位大侠,小弟在此先谢过首先,我不能用Url传值,因为量太大
    其次,我不能在子窗体的CS中写js,因为获取值后还要进行无数操作,不能用Page方法写js
    然后,我知道JS可以读取,但在CS中没有办法用这个变量,因为我是一堆变量,而且不能用Page写js,我还要后续操作我就是想在open后,获取父窗体的HTML控件值的内容,请问大侠,除了用Session方法外,还有其他可能吗
      

  12.   


    我已经回复你了,用隐含域存,然后cs里面用Request取;
      

  13.   

    5555555555555555555555楼上大哥,我父窗体的控件是自动生成的,是用Js强写了大量HTML控件且不固定数量....非常大量........怎么定义hid..............
      

  14.   

    如果不用get方式的话,可以用页面之间的关系,但鉴于你获取许多变量,可以考虑post 的方式
    就是在打开的页面临时构建一个form 提交到你需要处理的页面,这样在CS 代码中 就可以获取一些变量了
    也可以同时结合页面之间的关系与post提交,这样就把在打开页构建FORM的工作 转移给了 打开的所有者(父窗体)
      

  15.   


     POST 或许是个解决方案~,,楼主可以考虑下~~