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);
        }


 

posted on 2010-08-09 13:15  blair0807  阅读(851)  评论(0编辑  收藏  举报