2012-08-06 48 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

相關問題