ASP.NETフォーム間の値伝達方法

2393 ワード

仮にParentForm.aspxページにはTextBox 1テキストボックスとOpenボタンがあります
OpenボタンをクリックしてSubFormをポップアップする.aspx,SubForm.aspxページにはTextBox 1テキストボックスとCloseボタンがあります
CloseボタンをクリックしてSubFormを閉じます.aspxページ、サブページSubForm.aspxテキストボックスの値が親ページParentFormに表示されます.aspxのテキストボックスにあります.
親フォームのフロントコード:
 
  
      <br>        function OpenSubForm(ret) { <br>            var strPath = "subForm.aspx" <br>            var nHeight = 500 <br>            var nWidth = 500 <br>            var feature <br>            feature = "Height= " + nHeight + ",Width=" + nWidth + ",top=30,Left=30"; <br>            feature += ",dependent=yes,location=no,resizable=yes,scrollbars=yes,status=yes,toolbar=no;"; <br>            window.open(strPath+"?Ret_Form=Form1&Ret_Value="+ret,'subForm',feature).focus(); <br>            return false; <br>        } <br>   

親フォームバックグラウンドコード:
 
  
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 = ""; <br>            strScript += "window.opener." + strRetForm; <br>            strScript += "." + strRetValue + ".value='" + this.TextBox1.Text.Trim() + "';"; <br>            strScript += "window.close();"; <br>            strScript += "";
            Response.Write(strScript);
        }