window.showModalDialog()ポップアップウィンドウから戻り値を取得


値を返すポップアップウィンドウ:windowを使用します.showModalDialog()メソッド.window.showModalDialog(URL,dialogArgments.features)新しいウィンドウを開きます
ポップアップウィンドウが閉じると戻り値が得られます.次の簡単な例があります.
開発環境:Visual Studio.Net 2003(C#) + IE6.0
A.aspx

<SCRIPT LANGUAGE=JAVASCRIPT>
    function btnGetReturnValue_onclick() 
    {
                  var temp= window.showModalDialog("B.aspx","","center=yes;help=no;status=no");
                  document.Form1.TextBox1.value = temp;
    }
</SCRIPT>
.......
<Input  Type="Button" id=" btnGetReturnValue" onclick="return btnGetReturnValue_onclick() value="  ">

B.aspx.cs

           
string str = "   "
Response.Write("<script language=javascript>window.returnValue ="+str+";window.close()</script>");

私のテスト:
test.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <HTML>   
  <HEAD>   
  <TITLE></TITLE>   

  </HEAD>   
  <BODY>   
  <form id="Form1" method="post" runat="server">
  <SCRIPT LANGUAGE=JAVASCRIPT>
    function btnGetReturnValue_onclick() 
    {
                  var temp= window.showModalDialog("testopen.aspx","","center=yes;help=no;status=no");
                      if   (temp!=undefined)   
                          {   
                            document.Form1.TextBox1.value = temp;
                          }   
                        else
                        {
                            document.Form1.TextBox1.value = "null"; 
                        }

    }
</SCRIPT>
<Input  Type="Button" id=" btnGetReturnValue" onclick="return btnGetReturnValue_onclick()" value="  ">
      
      <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</form>
  </BODY>   
  </HTML> 



testopen.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="testopen.aspx.cs" Inherits="testopen" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<HTML>   
  <HEAD>   
  <TITLE></TITLE>   

  </HEAD>   
  
  <BODY>   
  <base target="_self">
<form id="Form1" method="post" runat="server">
    <asp:TextBox ID="cc" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />

</form>
  </BODY>   
  </HTML>



testopen.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class testopen : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string str = this.cc.Text.ToString();
        Response.Write(str);
        Response.Write("<script language=javascript>window.parent.returnValue ='" + str + "';window.parent.close();</script>");//
    }
}




変換元:http://www.cnblogs.com/donnet/articles/703576.html