2012-08-06 40 views
1

我有两个aspx页面,即one.aspx和two.aspx,我有一个JavaScript文件,名为link.js如何使用js在两个aspx页面之间进行通信?

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

在one.aspx文件我有一个ModalPopupExtender和其面板的含量loacted在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> 

在 “two.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页面获取内容。 请帮助我。

在此先感谢。

+2

您需要提供更多信息。你想通过回传或通过Ajax来做到这一点?你使用MVC还是WebForms?需要更多信息。第1页和第2页在什么情况下驻留?你试图达到什么目的?你已经尝试了什么? – 2012-08-06 04:36:55

+0

嗨..我已编辑我的问题,请现在审查.. – Hulk 2012-08-06 05:26:51

回答

0

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

  1. 使用SignalR广播到多个客户端。更多详情https://github.com/SignalR/SignalR

  2. (更低水平SignalR通常会照顾所有这一切都为你。)

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

然后让其他网页通过Ajax不断从相同的输出(文件,会话或cookie)中读取数据。

0

您确定您的架构正确吗? 为什么你需要two.aspx真的有一个很好的理由 - 不能one.aspx做到这一切吗?

在过去使用过AjaxToolkit之后,我很想在现代Web开发中使用它。你看过http://knockoutjs.com/还是Backbone?他们真的值得一看。

我知道这并不回答你的问题本身,我只是想拯救你从一个痛苦的世界。

+0

嗨..背后使用两个aspx页面的原因是,如果我在一个aspx中放置n个弹出窗口(例如20到40),它会花更多的时间来加载.... – Hulk 2012-08-08 07:08:17

相关问题