ASP.NET頁面傳值,並返回子頁值至父頁
1.父頁:
- <script type="text/javascript">
- //1、open子窗口:用window.opener代表父窗口的window对象 (window.opener)
- //2、模态子窗口:间接通过传window对象到子窗口,然后子窗口可获得父窗口的window对象 (window.dialogArguments)
- //3、iframe中子页面:用window.parent代表父窗口的window对象 (window.parent)
- function show(url, width, height) {
- var ar = new Array();
- ar = window.showModalDialog(url, window,'dialogWidth:' + width + 'px;dialogHeight:' + height + 'px;center:yes;status:no;scroll:no;help:no'); //打开模态对话框,变量ar接收返回值
- if (ar != null) {
- document.form1.TextBox1.value = ar[0];
- document.form1.TextBox2.value = ar[1];
- }
- }
- </script>
<a href="javascript:show('show.aspx',500,400);">传值</a>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
2.子頁:
- <script type="text/javascript" language="javascript">
- //子頁值傳回父頁
- function setvalue() {
- var arr = new Array();
- arr[0] = document.getElementById("text1").value;
- arr[1] = document.getElementById("text2").value;
- window.returnValue = arr;
- window.close();
- }
- 父页值 传到子页
- function getvalue() {
- var arr = new Array();
- //父页值 传到子页
- //arr[0] = window.opener.document.getElementById("textBox1").value; //open
- //alert(window.opener.document.getElementById("textBox1").innerHTML);
- //arr[1] = window.opener.document.getElementById("textBox2").value;
- arr[0] = window.dialogArguments.document.getElementById("textBox1").value; //模态
- arr[1] = window.dialogArguments.document.getElementById("textBox2").value;
- //arr[0] = window.parent.document.getElementById("textBox1").value;
- //arr[1] = window.parent.document.getElementById("textBox2").value;
- if (arr != null) {
- document.getElementById("text1").value = arr[0];
- document.getElementById("text2").value = arr[1];
- }
- }
- </script>
- <%@ Page Language="C#" AutoEventWireup="true" CodeFile="show.aspx.cs" Inherits="show" %>
- <!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" />--%>
- <script type="text/javascript" language="javascript">
- function ReturnValue(PamA, PamB) {
- var my_array = new Array(PamA, PamB);
- window.returnValue = my_array;
- window.close();
- }
- function setvalue() {
- var arr = new Array();
- arr[0] = document.getElementById("text1").value;
- arr[1] = document.getElementById("text2").value;
- window.returnValue = arr;
- window.close();
- }
- function getvalue() {
- var arr = new Array();
- //父页值 传到子页
- //arr[0] = window.opener.document.getElementById("textBox1").value; //open
- //alert(window.opener.document.getElementById("textBox1").innerHTML);
- //arr[1] = window.opener.document.getElementById("textBox2").value;
- arr[0] = window.dialogArguments.document.getElementById("textBox1").value; //模态
- arr[1] = window.dialogArguments.document.getElementById("textBox2").value;
- //arr[0] = window.parent.document.getElementById("textBox1").value;
- //arr[1] = window.parent.document.getElementById("textBox2").value;
- if (arr != null) {
- document.getElementById("text1").value = arr[0];
- document.getElementById("text2").value = arr[1];
- }
- }
- </script>
- </head>
- <body οnlοad="getvalue();">
- <form id="form1" runat="server">
- <div>
- <asp:TextBox ID="text1" runat="server"></asp:TextBox>
- <asp:TextBox ID="text2" runat="server"></asp:TextBox>
- <input id="Button1" type="button" value="Return" οnclick="setvalue();" />
- <input id="Button2" type="button" value="Close" οnclick="window.close();" />
- </div>
- </form>
- </body>
- </html>