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

你可能感兴趣的:(java,UI,Web,XHTML,C#)