Dzwebs.Net

撰写电脑技术杂文十余年

net页面通过JS实现父窗体调用子窗体返回数据的例子

Admin | 2015-1-17 10:06:17 | 被阅次数 | 2796

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  在NET中,如何实现在父窗体中,点击按钮以后,弹出子窗体,之后,在子窗体实现计算后,再把数据返回给父窗体的控件,整个过程中,不出现刷新回调状态,如何实现呢!

  如下图一样,当我们点击Call child winodws按钮后,就弹出子窗体了,在子窗体中输入数据和单价之后,实现总价的计算,最后把总价返回给父窗体的文本框中。

父窗体子窗体图片1

  下面是例子,过程简单,请大家注意学习。

  一、所需要的页面

  总的需要两个aspx页面,一个是PageA.aspx,另一个是PageB.aspx;请大家自行建立好页面。前者是父窗体,后者是子窗体。

  二、各页面的控件及JS代码

  A:PageA.aspx的JS代码及控件

  JS代码如下,放在Head区域之内

  <script type="text/javascript">

        function popUp(url) {
            objSubWin = window.open(url, "Popup", "toolbar=no,scrollbars=no,location=no,statusbar=no,menubar=no,resizable=0,width=300,height=80");
            objSubWin.focus();
        }

        function SetValue(val) {
            var amount = document.getElementById('<% = TextBoxAmount.ClientID %>');
         amount.value = val;
     }

    </script>

  所需要的控件如下,放在Body区域之内

   <asp:TextBox ID="TextBoxAmount" runat="server" Enabled="false"></asp:TextBox>
  <asp:Button ID="Button1" runat="server" Text="Call child window" OnClientClick="popUp('PageB.aspx')" />

  B:PageB.aspx的JS代码及控件

  JS代码如下,放在Head区域之内

  <script type="text/javascript">
        function isNumeric(keyCode) {
            return ((keyCode >= 48 && keyCode <= 57) || keyCode == 8)
        }

        function calc() {
            if (window.opener != null && !window.opener.closed) {
                var qty = document.getElementById('<% = TextBoxqty.ClientID %>');
                var price = document.getElementById('<% = TextBoxPrice.ClientID %>');

                window.opener.SetValue(parseInt(qty.value) * parseInt(price.value));
            }
        }
    </script>

  所需要的控件如下,放在Body区域之内

   数量<asp:TextBox ID="TextBoxqty" runat="server" onkeydown="return isNumeric(event.keyCode);" onpaste="return false;" Width="50"></asp:TextBox>
            * 单价<asp:TextBox ID="TextBoxPrice" runat="server" onkeydown="return isNumeric(event.keyCode);" onpaste="return false;" Width="50"></asp:TextBox>
            <asp:Button ID="Button1" runat="server" Text="Calculate" OnClientClick="calc()" />


网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231