在实际的开发过程当中像window.showModalDialog弹出子窗体是非常常用的,今天写了一个DEMO
一。新建一个父窗体的页面ParentWeb.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ParentWeb.aspx.cs" Inherits="ParentWeb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>父窗体----学生信息录入</title>
<script language="javascript">
//打开新的子窗体
function OpentChild()
{
var parmName = document.getElementById("txtName").value;
var parmAge = document.getElementById("txtAge").value;
var arrArgs = new Array(parmName, parmAge);
var winSettings = "center:yes;resizable:no;dialogHeight:300px";
var arrArgs = window.showModalDialog("ChildWeb.aspx",arrArgs,winSettings);
//下面的可以支持返回多个值[window.returnValue]
if(arrArgs==null)
{
alert("Nothing returned from ChildWeb!");
}
else
{
document.getElementById("txtName").value = arrArgs[0].toString();
document.getElementById("txtAge").value = arrArgs[1].toString();
// window.location.reload(); 刷新父窗体
}
}
</script>
</head>
<body>
<form id="frmParent" runat="server">
<div>
姓名:<input type="text" value="" id="txtName" /><br />
年龄:<input type="text" value="" id="txtAge" /><br />
<input id="btnSubmit" type="button" value="Submit" onclick="return OpentChild();" />
</div>
</form>
</body>
</html>
二。新建一个子窗体ChildWeb.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ChildWeb.aspx.cs" Inherits="ChildWeb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>子窗体----更新信息</title>
<script language="javascript">
//初始化子窗体
function InitPage()
{
var myArgs = new Array();
myArgs = window.dialogArguments;
document.getElementById("txtName1").value = myArgs[0].toString();
document.getElementById("txtAge1").value = myArgs[1].toString();
}
//返回父窗体
function BackValue()
{
var name = document.getElementById("txtName1").value;
var age = document.getElementById("txtAge1").value;
var arrArgs = new Array(name, age);
window.returnValue = arrArgs;
window.close();
}
</script>
</head>
<body onload="return InitPage();">
<form id="frmChild" runat="server">
<div>
姓名:<input type="text" value="" id="txtName1" /><br />
年龄:<input type="text" value="" id="txtAge1" /><br />
<input id="btnSubmit" type="button" value="Submit" onclick="return BackValue();" />
</div>
</form>
</body>
</html>
源文引自:http://www.cnblogs.com/morningwang/archive/2008/03/11/1100832.html