ASP.NET 窗体间传值的方法

  假设ParentForm.aspx 页面上有TextBox1文本框和Open按钮

  点击Open按钮弹出SubForm.aspx,SubForm.aspx页面上有TextBox1文本框和Close按钮

  点击Close按钮关闭SubForm.aspx页面,并把子页面SubForm.aspx文本框的值显示到父页面ParentForm.aspx 的文本框上。

  父窗体前台代码:

  

复制代码 代码如下:

  <script type="text/javascript">

  function OpenSubForm(ret) {

  var strPath = "subForm.aspx"

  var nHeight = 500

  var nWidth = 500

  var feature

  feature = "Height= " + nHeight + ",Width=" + nWidth + ",top=30,Left=30";

  feature += ",dependent=yes,location=no,resizable=yes,scrollbars=yes,status=yes,toolbar=no;";

  window.open(strPath+"?Ret_Form=Form1&Ret_Value="+ret,'subForm',feature).focus();

  return false;

  }

  </script>

  父窗体后台代码:

  

复制代码 代码如下:

  private void Page_Load(object sender, System.EventArgs e)

  {

  // ページを初期化するユーザー コードをここに挿入します

  this.Button1.Attributes.Add("onClick","return OpenSubForm('TextBox1');");

  }

  子窗体后台代码:

  

复制代码 代码如下:

  private void Button1_Click(object sender, System.EventArgs e)

  {

  string strScript =string.Empty;

  string strRetForm = String.Empty;

  string strRetValue=String.Empty;

  strRetForm=Request.Params["Ret_Form"];

  strRetValue=Request.Params["Ret_Value"];

  if (strRetForm == string.Empty)

  {

  strRetForm= "document.forms[0]";

  }

  strScript = "<script language=javascript>";

  strScript += "window.opener." + strRetForm;

  strScript += "." + strRetValue + ".value='" + this.TextBox1.Text.Trim() + "';";

  strScript += "window.close();";

  strScript += "</script>";

  Response.Write(strScript);

  }