程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於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)
            {
                // ペ?ジを初期化するユ?ザ? コ?ドをここに?啡毪筏蓼?br />             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);
            }


     

    上面是js其實也就是頁面傳值了,下面我把一些頁面傳值的代碼發給大家參考。

    頁面間傳值的幾種方式 .

    下面的代碼片斷演示了如何實現這個方法:
      源頁面WebForm1.aspx.cs中的部分代碼:

     代碼如下   private void Button1_Click(object sender, System.EventArgs e)
    {
         string url;
         url="WebForm2.aspx?name=" + TextBox1.Text + "&email=" + TextBox2.Text;
         Response.Redirect(url);
    }
     目標頁面WebForm2.aspx.cs中的部分代碼:
    private void Page_Load(object sender, System.EventArgs e)
    {
         Label1.Text=Request.QueryString["name"];
         Label2.Text=Request.QueryString["email"];
    }

    使用Session變量

     源頁面WebForm1.aspx.cs中的部分代碼:

     代碼如下   private void Button1_Click(object sender, System.EventArgs e)
    {
         //textbox1 and textbox2 are webform
         //controls
         Session["name"]=TextBox1.Text;
         Session["email"]=TextBox2.Text;
         Server.Transfer("WebForm2.aspx");
    }

      目標頁面WebForm2.aspx.cs中的部分代碼:

     代碼如下   private void Page_Load(object sender, System.EventArgs e)
    {
         Label1.Text=Session["name"].ToString();
         Label2.Text=Session["email"].ToString();
         Session.Remove("name");
         Session.Remove("email");
    }
    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved