window.showModalDialog()弹出窗口获取返回值

来源:互联网 发布:网络电视还需要盒子吗 编辑:程序博客网 时间:2024/04/19 13:36

可以返回值的弹出窗口:用的是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=" btnGetReturnValueonclick="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>");//
    }
}

 
原创粉丝点击