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