2010-08-13 98 views
3

我有一個已經在ASP.NET中完成的網站。我需要在底部添加一個包含實時流式視頻聊天(Flash對象)的部分,並且我需要它保留不同的頁面訪問。持久性網頁導航 - ASP.NET C#

例如我有可能會被訪問​​的profile.aspx和local.aspx,我需要底部的小聊天框架來堅持頁面更改。

這裏有一個圖:

alt text http://c3gl.com/pageper.jpg

我能想到這樣做的唯一途徑...

使整個網站,只是動態加載它需要的頁面上。 或使用底部框架也許? (不是這個想法的粉絲)

是否有任何其他方式來做到這一點,或一種方法來輕鬆實現我所需要的事實,我已經有一大堆aspx了?

編輯:我忘了提及,聊天是一個流式視頻聊天。 (flash object)

+4

+1令人驚歎的圖形 – jaws 2010-08-13 16:48:55

+0

謝謝你的下巴。它只花了我大約45分鐘,所以它沒有什麼特別的。 – Jason 2010-08-13 16:55:13

回答

2

一種可能的解決方案是,您可以將兩個頁面作爲單獨的iframe放在父頁面下。然後改變的框架可以改變並導航到其他頁面,而聊天框架保持不變。

+0

我喜歡這個想法,幾乎和我討厭幀的想法一樣......這可能會起作用。我想我可能需要一定程度的溝通,我們會看看我是否可以在周圍徘徊。 – Jason 2010-08-13 16:53:27

2

如果您需要聊天窗口真正堅持,那麼您需要避免頁面加載。唯一的方法是使用框架或AJAX調用。

我認爲如果你不想進入和修改你現有的頁面,使用框架真的是你最好的選擇。如果您不需要在聊天部分和主頁面之間進行溝通,這將是您完成任務最快,最簡單的方式。

另一個選項可能不是您要查找的選項,它將緩存某些聊天會話並在用戶更改頁面時重新加載該聊天會話。這樣,他們保留他們的聊天記錄,但聊天部分在頁面重新加載期間消失。使用主頁面或將聊天用戶控件添加到每個頁面將是完成此操作的最佳方式。

0

您是否在數據庫之上運行?爲什麼不把聊天流量放入數據庫,並在加載新頁面時重新加載?如果你只想保留少量的文本(比如說一個小窗口的屏幕空間),你甚至可以使用會話狀態。

將持久區域設置爲用戶控件(.ascx文件),以便您可以將保存和重新加載封裝到一個位置,並輕鬆將其添加到任何您想要的頁面中。

您是否使用母版頁?如果是這樣,只需將.ascx放入主頁面即可。你可能不需要改變你的個人網頁。

要保存輸入的聊天框文本,您必須使用AJAX。我會使用類似JQuery的東西(與ASP.NET WebMethods和.asmx一起使用)將聊天框內容以設定的時間間隔發送回服務器。

+0

是的,忘了提及它的視頻聊天壽。抱歉。 =/ – Jason 2010-08-13 18:08:40

0

根本不要堅持聊天框,堅持聊天。像Facebook一樣,每個頁面都有一個新的聊天框,並且該聊天框定期獲取聊天的當前狀態。

如果你堅持實際的聊天框,它將無法工作,因爲不同的標籤將處於不同的狀態。

+0

忘了提及它的視頻聊天。抱歉。 = / – Jason 2010-08-13 18:09:03