ASP.NETフォーム間の値伝達方法
2393 ワード
仮にParentForm.aspxページにはTextBox 1テキストボックスとOpenボタンがあります
OpenボタンをクリックしてSubFormをポップアップする.aspx,SubForm.aspxページにはTextBox 1テキストボックスとCloseボタンがあります
CloseボタンをクリックしてSubFormを閉じます.aspxページ、サブページSubForm.aspxテキストボックスの値が親ページParentFormに表示されます.aspxのテキストボックスにあります.
親フォームのフロントコード:
親フォームバックグラウンドコード:
サブフォームバックグラウンドコード:
OpenボタンをクリックしてSubFormをポップアップする.aspx,SubForm.aspxページにはTextBox 1テキストボックスとCloseボタンがあります
CloseボタンをクリックしてSubFormを閉じます.aspxページ、サブページSubForm.aspxテキストボックスの値が親ページParentFormに表示されます.aspxのテキストボックスにあります.
親フォームのフロントコード:
<br> function OpenSubForm(ret) {
<br> var strPath = "subForm.aspx"
<br> var nHeight = 500
<br> var nWidth = 500
<br> var feature
<br> feature = "Height= " + nHeight + ",Width=" + nWidth + ",top=30,Left=30";
<br> feature += ",dependent=yes,location=no,resizable=yes,scrollbars=yes,status=yes,toolbar=no;";
<br> window.open(strPath+"?Ret_Form=Form1&Ret_Value="+ret,'subForm',feature).focus();
<br> return false;
<br> }
<br>
親フォームバックグラウンドコード:
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 = "";
<br> strScript += "window.opener." + strRetForm;
<br> strScript += "." + strRetValue + ".value='" + this.TextBox1.Text.Trim() + "';";
<br> strScript += "window.close();";
<br> strScript += " ";
Response.Write(strScript);
}