ASP.NET父窗口无法获取子窗口传值的问题 15
父页面加载了母版页,在弹出的子窗口后,选择值后,值不能返回到父页面窗口的文本框中。父窗口的代码如下:<%@PageTitle=""Language="C#"MasterP...
父页面加载了母版页,在弹出的子窗口后,选择值后,值不能返回到父页面窗口的文本框中。
父窗口的代码如下:
<%@ Page Title="" Language="C#" MasterPageFile="~/template.master" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<script type="text/javascript" >
function Pop() {
var result = showModalDialog('Dept.aspx', 'subpage', 'dialogWidth:400px;dialogHeight:300px;center:yes;help:no;resizable:no;status:no'); //打开模态子窗体,并获取返回值
document.getElementById("txtDept").value = result.split("'")[0]; //返回值分别赋值给相关文本框
}
</script>
<asp:TextBox ID="txtDept" runat="server"></asp:TextBox>
<asp:ImageButton ID="ImageButton1"
runat="server" ImageUrl="~/inputbg_02.gif" OnClientClick ="Pop()"/>
</asp:Content>
子窗口数据行绑定传值的代码如下:
e.Row.Attributes.Add("onclick", "cc('" + e.Row.Cells[1].Text + "','" + "')"); 展开
父窗口的代码如下:
<%@ Page Title="" Language="C#" MasterPageFile="~/template.master" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<script type="text/javascript" >
function Pop() {
var result = showModalDialog('Dept.aspx', 'subpage', 'dialogWidth:400px;dialogHeight:300px;center:yes;help:no;resizable:no;status:no'); //打开模态子窗体,并获取返回值
document.getElementById("txtDept").value = result.split("'")[0]; //返回值分别赋值给相关文本框
}
</script>
<asp:TextBox ID="txtDept" runat="server"></asp:TextBox>
<asp:ImageButton ID="ImageButton1"
runat="server" ImageUrl="~/inputbg_02.gif" OnClientClick ="Pop()"/>
</asp:Content>
子窗口数据行绑定传值的代码如下:
e.Row.Attributes.Add("onclick", "cc('" + e.Row.Cells[1].Text + "','" + "')"); 展开
3个回答
2013-04-08
展开全部
百度的结果:
JS子窗口向父窗口传值
在项目开发时遇到一个小问题,领导审批的模块中,当前窗口中(父窗口)选中一条未审批的记录后点击【审批】按钮,弹出一个小窗口(子窗口), 子窗口内填写审批意见后,单击【确定】后按钮,子窗口自动关闭,并将意见的内容传到父窗口,父窗口要更改本条记录的状态和 审批意见内容。 如何将子窗口的内容传到父窗口当时用到了window的showModalDialog和returnValue。下面做简要介绍:
returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用window.showModalDialog函数打开一个IE的模式窗口(模式窗口就是子窗口,打开后不能操作父窗口,只能等模式窗口关闭时才能操作)时,用于返回窗口的值,下面举个例子:
------------------------------------------------------------------------------
//father.html
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
<script language="javascript">
function showmodal(){
var ret = window.showModalDialog("child.htm",null,"dialogWidth:350px;dialogHeight:350px;help:no;status:no");
if (ret){alert('子窗口返回真!');
}else{
alert('子窗口返回假!');
}
}
</script>
</HEAD>
<BODY>
<INPUT id=button1 type=button value=Button name=button1 onclick="showmodal();">
</BODY>
</HTML>
------------------------------------------------------------------------------
//child.html
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
<script language="javascript">
function trans(tag){
if (tag==0){
window.returnValue=false;
} else{
window.returnValue =true;
}
window.close();
}
</script>
</HEAD>
<BODY>
<INPUT id=button1 type=button value="返回真" name=button1 onclick="trans(1)">
<INPUT id=button2 type=button value="返回假" name=button2 onclick="trans(0)">
</BODY>
</HTML>
-----------------------------------------------------------------------------
这样一来可以实现从模式窗口向父窗口传递值的作用,
这个returnValue除了可以是布尔值,整型值等以外还可以是个js数组,用来传递大量数据。
showModalDialog,是模态窗口,始终获得焦点,但弹出的窗体不能刷新,此弹出的窗口里操作button,要想不弹出新窗口,需在
弹出的窗口中在<head>和</head>之间加<base target="_self">。
JS子窗口向父窗口传值
在项目开发时遇到一个小问题,领导审批的模块中,当前窗口中(父窗口)选中一条未审批的记录后点击【审批】按钮,弹出一个小窗口(子窗口), 子窗口内填写审批意见后,单击【确定】后按钮,子窗口自动关闭,并将意见的内容传到父窗口,父窗口要更改本条记录的状态和 审批意见内容。 如何将子窗口的内容传到父窗口当时用到了window的showModalDialog和returnValue。下面做简要介绍:
returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用window.showModalDialog函数打开一个IE的模式窗口(模式窗口就是子窗口,打开后不能操作父窗口,只能等模式窗口关闭时才能操作)时,用于返回窗口的值,下面举个例子:
------------------------------------------------------------------------------
//father.html
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
<script language="javascript">
function showmodal(){
var ret = window.showModalDialog("child.htm",null,"dialogWidth:350px;dialogHeight:350px;help:no;status:no");
if (ret){alert('子窗口返回真!');
}else{
alert('子窗口返回假!');
}
}
</script>
</HEAD>
<BODY>
<INPUT id=button1 type=button value=Button name=button1 onclick="showmodal();">
</BODY>
</HTML>
------------------------------------------------------------------------------
//child.html
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
<script language="javascript">
function trans(tag){
if (tag==0){
window.returnValue=false;
} else{
window.returnValue =true;
}
window.close();
}
</script>
</HEAD>
<BODY>
<INPUT id=button1 type=button value="返回真" name=button1 onclick="trans(1)">
<INPUT id=button2 type=button value="返回假" name=button2 onclick="trans(0)">
</BODY>
</HTML>
-----------------------------------------------------------------------------
这样一来可以实现从模式窗口向父窗口传递值的作用,
这个returnValue除了可以是布尔值,整型值等以外还可以是个js数组,用来传递大量数据。
showModalDialog,是模态窗口,始终获得焦点,但弹出的窗体不能刷新,此弹出的窗口里操作button,要想不弹出新窗口,需在
弹出的窗口中在<head>和</head>之间加<base target="_self">。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你想传值回去 可以使用 parent 对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询