【问题标题】:How to return a value from a pop up window如何从弹出窗口返回值
【发布时间】:2009-04-09 23:31:35
【问题描述】:

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

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

用户单击网络表单 A 中的元素;弹出Webform B;用户与网络表单 B 交互;在关闭 webform B 时,可能通过提交按钮,webform a a 中的源元素将使用来自 webform B 的值进行更新。

这里会涉及哪些技术?当然,除了 Javascript 和 c#。我可以不用 Ajax 吗?

已编辑:

澄清一下,WEBform B会保存输入到数据库的数据,比如客户信息,然后会返回客户ID(保存后),这个客户ID需要传递给父窗口,父窗口应该刷新之后。

【问题讨论】:

    标签: c# asp.net javascript webforms


    【解决方案1】:

    你可以使用 JavaScript:

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

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

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

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

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

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

    希望有帮助!

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2010-10-06
          • 1970-01-01
          • 2011-01-22
          • 2023-02-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-04-02
          • 1970-01-01
          相关资源
          最近更新 更多