Father.aspx
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeBehind
=
"
Father.aspx.cs
"
Inherits
=
"
WebUI.Temp.Father
"
%>
<! 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 >我是父窗口 Father.aspx ,我用 showModalDialog 方法弹出子窗口 Child.aspx </ title >
< meta http-equiv ="pragma" content ="no-cache" />
< meta http-equiv ="Cache-Control" content ="no-cache" />
< meta http-equiv ="Expires" content ="no-cache" />
< script type ="text/javascript" language ="javascript" >
<!--
function openChild() {
// var k = window.showModalDialog("MainIframe.aspx", window, "dialogWidth:600px;status:no;dialogHeight:500px");
// 以下方法禁止缓存
var k = window.showModalDialog( " MainIframe.aspx? " + ( new Date()).valueOf(), window, " dialogWidth:600px;status:no;dialogHeight:500px " )
if (k != null )
document.getElementById( " txbFather " ).value = k;
}
// -->
</ script >
</ head >
< body >
< form id ="form1" runat ="server" >
< table border ="1" cellpadding ="0" cellspacing ="0" width ="600" >
< tr bgcolor ="#ccccff" >
< td >
1、传递到父窗口的值: < br />
< br />
2、并能取得子窗口传递进来的值 </ td >
< td >
< asp:TextBox ID ="txbFather" runat ="server" Width ="200px" >我是父窗的初始值 </ asp:TextBox >
</ td >
</ tr >
< tr bgcolor ="#66cc66" >
< td height ="40" >
< input type ="button" value ="弹出子窗口" onclick ="openChild()" />
</ td >
< td >
</ td >
</ tr >
</ table >
</ form >
</ body >
</ html >
<! 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 >我是父窗口 Father.aspx ,我用 showModalDialog 方法弹出子窗口 Child.aspx </ title >
< meta http-equiv ="pragma" content ="no-cache" />
< meta http-equiv ="Cache-Control" content ="no-cache" />
< meta http-equiv ="Expires" content ="no-cache" />
< script type ="text/javascript" language ="javascript" >
<!--
function openChild() {
// var k = window.showModalDialog("MainIframe.aspx", window, "dialogWidth:600px;status:no;dialogHeight:500px");
// 以下方法禁止缓存
var k = window.showModalDialog( " MainIframe.aspx? " + ( new Date()).valueOf(), window, " dialogWidth:600px;status:no;dialogHeight:500px " )
if (k != null )
document.getElementById( " txbFather " ).value = k;
}
// -->
</ script >
</ head >
< body >
< form id ="form1" runat ="server" >
< table border ="1" cellpadding ="0" cellspacing ="0" width ="600" >
< tr bgcolor ="#ccccff" >
< td >
1、传递到父窗口的值: < br />
< br />
2、并能取得子窗口传递进来的值 </ td >
< td >
< asp:TextBox ID ="txbFather" runat ="server" Width ="200px" >我是父窗的初始值 </ asp:TextBox >
</ td >
</ tr >
< tr bgcolor ="#66cc66" >
< td height ="40" >
< input type ="button" value ="弹出子窗口" onclick ="openChild()" />
</ td >
< td >
</ td >
</ tr >
</ table >
</ form >
</ body >
</ html >
MainIframe.aspx
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeBehind
=
"
MainIframe.aspx.cs
"
Inherits
=
"
WebUI.Temp.MainIframe
"
%>
<! 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 >
</ head >
< body >
< form id ="form1" runat ="server" >
< iframe src ="Child.aspx" width ="100%" height ="100%" frameborder ="0" ></ iframe >
</ form >
</ body >
</ html >
<! 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 >
</ head >
< body >
< form id ="form1" runat ="server" >
< iframe src ="Child.aspx" width ="100%" height ="100%" frameborder ="0" ></ iframe >
</ form >
</ body >
</ html >
Child.aspx
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeBehind
=
"
Child.aspx.cs
"
Inherits
=
"
WebUI.Temp.Child
"
%>
<! 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 >我是子窗口 Child.aspx ,用showModalDialog弹出的子窗口 </ title >
< base target ="_self" />
< meta http-equiv ="pragma" content ="no-cache" />
< meta http-equiv ="Cache-Control" content ="no-cache" />
< meta http-equiv ="Expires" content ="no-cache" />
</ head >
< body >
< form id ="form1" runat ="server" >
< table border ="1" cellpadding ="0" cellspacing ="0" width ="600" >
< tr bgcolor ="#ff66cc" >
< td height ="50" >
< input type ="button" value ="一、用传统的 input 关闭且返回值" onclick ="retrunValue()" />
</ td >
< td >
取得父窗口传递进来的值
< asp:TextBox ID ="txbChild" runat ="server" ></ asp:TextBox >
</ td >
</ tr >
< tr bgcolor ="#3399ff" >
< td height ="50" >
< asp:Button ID ="Button1" runat ="server" onclick ="Button1_Click" Text ="二、用服务器控件 Button1 关闭且返回值" />
</ td >
< td >
可以改变上面 TextBox 的值,返回给父窗口
</ td >
</ tr >
</ table >
</ form >
</ body >
</ html >
< script type ="text/javascript" language ="javascript" >
<!--
// var k = window.dialogArguments;
var k = window.parent.dialogArguments;
// 当前页中 txbChild 获得父窗口 txbFather 传递来的值
if (k != null ) {
document.getElementById( " txbChild " ).value = k.document.getElementById( " txbFather " ).value;
}
// 将当前页 txbChild 中的值 返回到父窗口中,并关闭当前页
function retrunValue() {
var s = document.getElementById( " txbChild " ).value;
window.parent.returnValue = s;
window.parent.close();
}
// -->
</ script >
<! 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 >我是子窗口 Child.aspx ,用showModalDialog弹出的子窗口 </ title >
< base target ="_self" />
< meta http-equiv ="pragma" content ="no-cache" />
< meta http-equiv ="Cache-Control" content ="no-cache" />
< meta http-equiv ="Expires" content ="no-cache" />
</ head >
< body >
< form id ="form1" runat ="server" >
< table border ="1" cellpadding ="0" cellspacing ="0" width ="600" >
< tr bgcolor ="#ff66cc" >
< td height ="50" >
< input type ="button" value ="一、用传统的 input 关闭且返回值" onclick ="retrunValue()" />
</ td >
< td >
取得父窗口传递进来的值
< asp:TextBox ID ="txbChild" runat ="server" ></ asp:TextBox >
</ td >
</ tr >
< tr bgcolor ="#3399ff" >
< td height ="50" >
< asp:Button ID ="Button1" runat ="server" onclick ="Button1_Click" Text ="二、用服务器控件 Button1 关闭且返回值" />
</ td >
< td >
可以改变上面 TextBox 的值,返回给父窗口
</ td >
</ tr >
</ table >
</ form >
</ body >
</ html >
< script type ="text/javascript" language ="javascript" >
<!--
// var k = window.dialogArguments;
var k = window.parent.dialogArguments;
// 当前页中 txbChild 获得父窗口 txbFather 传递来的值
if (k != null ) {
document.getElementById( " txbChild " ).value = k.document.getElementById( " txbFather " ).value;
}
// 将当前页 txbChild 中的值 返回到父窗口中,并关闭当前页
function retrunValue() {
var s = document.getElementById( " txbChild " ).value;
window.parent.returnValue = s;
window.parent.close();
}
// -->
</ script >
Child.aspx.cs
protected
void Button1_Click(
object sender, EventArgs e)
{
System.Text.StringBuilder cstext2 = new System.Text.StringBuilder();
cstext2.Append( string.Format( " <script type=text/javascript>var s ='{0}'; ", this.txbChild.Text.ToString()));
cstext2.Append( " window.returnValue = s;window.close();</ ");
cstext2.Append( " script> ");
Response.Write( string.Format( " {0} ", cstext2.ToString()));
}
{
System.Text.StringBuilder cstext2 = new System.Text.StringBuilder();
cstext2.Append( string.Format( " <script type=text/javascript>var s ='{0}'; ", this.txbChild.Text.ToString()));
cstext2.Append( " window.returnValue = s;window.close();</ ");
cstext2.Append( " script> ");
Response.Write( string.Format( " {0} ", cstext2.ToString()));
}
Parent.aspx
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeBehind
=
"
Parent.aspx.cs
"
Inherits
=
"
WebUI.Temp.Parent
"
%>
<! 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 type ="text/javascript" language ="javascript" >
<!--
function openChild() {
var k = window.showModalDialog( " SubParent.aspx " , window, " dialogWidth:335px;status:no;dialogHeight:300px " );
if (k == 1 ) // 判断是否刷新
{
alert( ' 刷新 ' );
window.location.reload();
}
}
// -->
</ script >
</ head >
< body >
< form id ="form1" runat ="server" >
< br >传递到父窗口的值: < input id ="txt9" type ="text" value ="3333333333333" />< br >
< input type ="button" value ="openChild" onclick ="openChild()" />
</ form >
</ body >
</ html >
<! 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 type ="text/javascript" language ="javascript" >
<!--
function openChild() {
var k = window.showModalDialog( " SubParent.aspx " , window, " dialogWidth:335px;status:no;dialogHeight:300px " );
if (k == 1 ) // 判断是否刷新
{
alert( ' 刷新 ' );
window.location.reload();
}
}
// -->
</ script >
</ head >
< body >
< form id ="form1" runat ="server" >
< br >传递到父窗口的值: < input id ="txt9" type ="text" value ="3333333333333" />< br >
< input type ="button" value ="openChild" onclick ="openChild()" />
</ form >
</ body >
</ html >
SubParent.aspx
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeBehind
=
"
SubParent.aspx.cs
"
Inherits
=
"
WebUI.Temp.SubParent
"
%>
<! 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 >
< base target ="_self" />
< meta http-equiv ="Expires" CONTENT ="0" />
< meta http-equiv ="Cache-Control" CONTENT ="no-cache" />
< meta http-equiv ="Pragma" CONTENT ="no-cache" />
</ head >
< body >
< form id ="form1" runat ="server" >
< br >父窗口传递来的值: < input id ="txt0" type ="text" >< br >
< input type ="button" value ="关闭刷新父窗口" onclick ="winClose(1)" >
< input type ="button" value ="关闭不刷新父窗口" onclick ="winClose(0)" >
< asp:Button ID ="Button1" runat ="server" onclick ="Button1_Click"
Text ="服务器端关闭并刷新父页" />
</ form >
</ body >
</ html >
< script type ="text/javascript" language =javascript >
<!--
var k = window.dialogArguments;
// 获得父窗口传递来的值
if (k != null ) {
document.getElementById( " txt0 " ).value = k.document.getElementById( " txt9 " ).value;
}
// 关闭窗口返回是否刷新的参数.
function winClose(isRefrash) {
window.returnValue = isRefrash;
window.close();
}
// -->
</ script >
<! 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 >
< base target ="_self" />
< meta http-equiv ="Expires" CONTENT ="0" />
< meta http-equiv ="Cache-Control" CONTENT ="no-cache" />
< meta http-equiv ="Pragma" CONTENT ="no-cache" />
</ head >
< body >
< form id ="form1" runat ="server" >
< br >父窗口传递来的值: < input id ="txt0" type ="text" >< br >
< input type ="button" value ="关闭刷新父窗口" onclick ="winClose(1)" >
< input type ="button" value ="关闭不刷新父窗口" onclick ="winClose(0)" >
< asp:Button ID ="Button1" runat ="server" onclick ="Button1_Click"
Text ="服务器端关闭并刷新父页" />
</ form >
</ body >
</ html >
< script type ="text/javascript" language =javascript >
<!--
var k = window.dialogArguments;
// 获得父窗口传递来的值
if (k != null ) {
document.getElementById( " txt0 " ).value = k.document.getElementById( " txt9 " ).value;
}
// 关闭窗口返回是否刷新的参数.
function winClose(isRefrash) {
window.returnValue = isRefrash;
window.close();
}
// -->
</ script >
SubParent.aspx.CS
protected
void Button1_Click(
object sender, EventArgs e)
{
string isFresh = " 1 ";
System.Text.StringBuilder cstext2 = new System.Text.StringBuilder();
cstext2.Append( string.Format( " <script type=text/javascript> var s ='{0}'; ", isFresh));
cstext2.Append( " window.returnValue = s;window.close();</ ");
cstext2.Append( " script> ");
Response.Write( string.Format( " {0} ", cstext2.ToString()));
}
{
string isFresh = " 1 ";
System.Text.StringBuilder cstext2 = new System.Text.StringBuilder();
cstext2.Append( string.Format( " <script type=text/javascript> var s ='{0}'; ", isFresh));
cstext2.Append( " window.returnValue = s;window.close();</ ");
cstext2.Append( " script> ");
Response.Write( string.Format( " {0} ", cstext2.ToString()));
}
例子代码下载 :/Files/tiger8000/Sample.rar