ASP.NET 表單間傳值實現方法詳解

來源:互聯網
上載者:User

標籤:http   io   ar   os   使用   sp   java   for   on   

假設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 = "http://www.111Cn.NeT /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");
}

上面兩種是常用的其它的就不介紹了,大家可自行去參考

 

ASP.NET 表單間傳值實現方法詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.