您的位置:首页 > 其它

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

2007-07-18 08:56 573 查看
可以返回值的弹出窗口:用的是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>");//
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: