萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> asp.net編程 >> ASP.NET 窗體間傳值的方法

ASP.NET 窗體間傳值的方法

這篇文章介紹了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);
        }

copyright © 萬盛學電腦網 all rights reserved