假設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"); } |