【问题标题】:How to communicate between two aspx pages using js?如何使用js在两个aspx页面之间进行通信?
【发布时间】:2012-08-06 04:32:39
【问题描述】:

我有两个 aspx 页面,即 one.aspx 和 two.aspx,我有一个名为 link.js 的 javascript 文件

现在我需要使用 javascript 文件作为中间文件在这两个 aspx 页面之间进行通信。

在 one.aspx 文件中,我有一个 ModalPopupExtender,其面板的内容位于 two.aspx 即,在“one.aspx”中:

<html>
<head>    
<script type="text/javascript" src="link.js"></script>

<script type="type="text/javascript">
   function test(){
     var str=callPopup();
     document.getElementById('pnlPopUp').innerHtml = str;
   }
</script>
</head>
<body>
<ajaxToolkit:ModalPopupExtender ID="popup1" runat="server" TargetControlID="btnOK" CancelControlID="btnCancel" PopupControlID="pnlPopUp"></ajaxToolkit:ModalPopupExtender>

<asp:Panel ID="pnlPopUp" runat="server"></asp:Panel>

  </body> 
</html>

在“两个.aspx”中:

<html>
  <head>
    <script type="text/javascript" src="link.js"></script>
   </head>
  <body>
<asp:Panel ID="pPanel1" runat="server">
    <table>
        <tr>
            <td>
                <p>test</p>
            </td>
            <td>
                <asp:Button ID="BtnTest" runat="server" Text="Click" OnClientClick="javascript:alert('hello world..!'); return false;" />
            </td>
        </tr>
    </table>
</asp:Panel> </body> </html>

在link.js中:

function callPopup() {
    var s = document.getElementById('pPanel1').innerHtml;
    return s;
}

我可以从 one.aspx 调用 callPopup() 但无法从 two.aspx 页面获取内容。 请帮帮我。

提前致谢。

【问题讨论】:

  • 您需要提供更多信息。您想通过回发还是通过 Ajax 来实现这一点?您使用的是 MVC 还是 WebForms?需要更多信息。第 1 页和第 2 页位于什么上下文中?你想要达到的目的是什么?你已经尝试过什么?
  • 嗨..我已经编辑了我的问题,请立即查看..

标签: javascript asp.net .net modalpopupextender


【解决方案1】:

我会给你两种方法来完成这个。

  1. 使用 SignalR 向多个客户端广播。阅读更多内容https://github.com/SignalR/SignalR

  2. (更底层。SignalR 通常会为您处理所有这些)

尝试使用 Ajax 调用函数服务器端:http://www.w3schools.com/ajax/default.asp。 然后,您可以将称为服务器端的函数写入某个输出源;一些示例:文件、会话、cookie。

然后让另一个网页通过 Ajax 不断地从相同的输出(文件、会话或 cookie)源中读取。

【讨论】:

    【解决方案2】:

    您确定您的架构是正确的吗? 你需要 two.aspx 真的有充分的理由吗 - one.aspx 不能做到这一切吗?

    在过去使用过 AjaxToolkit,我很难想出在现代 Web 开发中使用它的充分理由。你看过http://knockoutjs.com/Backbone 吗?他们真的很值得一看。

    我知道这并不能回答你的问题本身,我只是想把你从痛苦的世界中拯救出来。

    【讨论】:

    • 嗨.. 使用两个 aspx 页面背后的原因是,如果我在一个 aspx 中放置 n 个弹出窗口(例如,20 到 40),加载将需要更多时间....
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 2020-06-28
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 1970-01-01
    • 2018-12-02
    相关资源
    最近更新 更多