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οnclick="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" οnclick="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>");//
    }
}

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值