子窗口获取父窗口的值:
子窗口中前台加了HiddenField控件来存放父窗口的textbox控件中的值子窗口的前台代码,如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ViewUserTopMes.aspx.cs" Inherits="ViewUserTopMes"  %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
     <script type="text/jscript" language="javascript">
    function GetParentValue()
    {
           document.getElementById("HiddenField1").value =parent.document.getElementById("TxtReachUser").value;
   }
  
    </script>
</head>
<body >
    <form onclick="GetParentValue()">
    <asp:HiddenField ID="HiddenField1" runat="server" />    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
    </form>
</body>
</html>
 字界面的CS代码
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;public partial class ViewUserTopMes : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write("<script>alert('" + HiddenField1.Value.ToString() + "')</script>");
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Write("<script>alert('" + HiddenField1.Value.ToString() + "')</script>");
    }
 } 问题是:Page_Load中获取不到HiddenField1.Value中的值,页面加载后,点击Button1后,才能看到HiddenField1.Value中的值,请问有没有好的办法,能a

解决方案 »

  1.   

    你应该在打开子页面的时候就进行传值,url或者post传值都可以
      

  2.   

     protected void Page_Load(object sender, EventArgs e)
      {
      Response.Write("<script>document.getElementById(\"HiddenField1\").value =parent.document.getElementById(\"TxtReachUser\").value;
    ;alert('" + HiddenField1.Value.ToString() + "')</script>");
      }
    这样试试
      

  3.   

    windows.opener.document.getElementById("TxtReachUser").value
      

  4.   

    可以用URL传,通过QueryString获取
      

  5.   

    还是不行,
    现在问题主要是:
    怎么在子窗口的
     protected void Page_Load(object sender, EventArgs e)
      {
    }
    这个事件之前HiddenField1获取父窗口控件里面的值,因为我要在Page_Load 里执行其它方法