如何从弹出窗口返回值

时间:2009-04-09 23:31:35

标签: c# asp.net javascript webforms

我正在使用asp.net webforms 2.0,c#。

我需要的是一种简单,优雅的方式来执行以下操作:

用户点击webform A中的元素; Webform B弹出;用户与webform B进行交互;在关闭webform B时,可能是通过提交按钮,webform a中的source元素将使用webform B中的值进行更新。

这里涉及哪些技术?当然,除了Javascript和c#之外。没有Ajax我可以做到吗?

编辑:

为了澄清,WEBform B将保存输入数据库的数据,说客户信息,然后它会带回客户ID(保存后),这个客户ID需要传递给父窗口,应该刷新在此之后。

3 个答案:

答案 0 :(得分:1)

您可以使用JavaScript:

<script language="javascript">
window.opener.location.reload();
self.close();
</script>

上面的代码显示了如何关闭'开启者'窗口,但它应该给你一般的想法。 (此代码位于弹出窗口中)。 您可以使用相同的方法通过调用其中的JavaScript函数将值传递给'opener'窗口。

<script language="javascript">
window.opener.functionA('ABC123');    
</script>

如果要将ASP中的变量传递给JavaScript函数,请使用:

window.opener.functionA('<%=userId%>');

var userId = '<%=userId%>';
window.opener.functionA( userId );

希望有所帮助!

答案 1 :(得分:1)

如果您使用的是ASP.NET 2.0,则可以将第二页回发到第一页,然后使用IsCrossPagePostBack检测它。

答案 2 :(得分:-1)

function webFormAClick(){ var theReturnValue = window.showModalDialog("webFormB.html", myArguments, ''); }