代码之家  ›  专栏  ›  技术社区  ›  sarsnake

如何从弹出窗口返回值

  •  2
  • sarsnake  · 技术社区  · 15 年前

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

    我需要的是一个简单、优雅的方法来做以下事情:

    用户单击webform A中的元素;弹出webform B;用户与webform B交互;在关闭webform B时(可能是通过提交按钮),webform A中的源元素将使用webform B中的值更新。

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

    编辑:

    为了说明这一点,WEBform B会将输入数据库的数据保存下来,比如说客户信息,然后它会返回客户ID(保存后),这个客户ID需要传递给父窗口,父窗口应该在保存后刷新。

    3 回复  |  直到 15 年前
        1
  •  1
  •   uuɐɯǝʃǝsuuɐɯǝʃǝs    15 年前

    您可以使用JavaScript:

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

    上面的代码展示了如何关闭“opener”窗口,但它应该会给您一个大致的概念。(此代码在弹出窗口中)。 您可以使用相同的方法通过调用“opener”窗口中的JavaScript函数将值传递给该窗口。

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

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

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

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

    希望能有帮助!

        2
  •  1
  •   JP Alioto    15 年前

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

        3
  •  -1
  •   Techgration    15 年前

    函数webFormAClick(){ var theReturnValue=window.showModalDialog(“webFormB.html”,myArguments,”); }