将值从子窗口传递给父窗口

时间:2009-11-12 23:12:52

标签: asp.net javascript parameter-passing

这是我的场景:我有一个父网页,在我的javascript代码中我打开一个新窗口。这个新窗口是服务器端的aspx页面。此子页面需要在数据库中保存一些数据,保存后会返回一个ID。现在,我需要将此ID从子服务器页面传递给父级的javascript。

基本上我需要子服务器代码来触发: 1)将值返回到父页面的javascript代码 2)关闭自己

这可以接受的方式是什么?

2 个答案:

答案 0 :(得分:1)

在父页面中设置变量:

var dbID;

当DB调用从打开的窗口返回时,将其置于打开的窗口的load事件中(如果使用jquery或其他框架,则将其置于ready事件中):

window.opener.dbID = <%= newID %> 
// or whatever your framework's technique is for this :-)
window.close();

您也可以使用相同的技术在父级上调用全局函数。

在“父母”页面上:

function handleNewDBID(dbID) { alert("lookit me, i got an ID! " + dbID); }

在打开的窗口上:

window.opener.handleNewDBID(<%=newID%>);

答案 1 :(得分:0)

如果您在子窗口中并且假设您的父窗口具有对象 childResult

window.opener.childResult = "yourIdHere";