2011-01-19 48 views
2

這裏是我想要做的事:如何分享網頁(asp.net)與他人

用戶訪問一個網頁(asp.net web應用程序),使他的選擇和應用過濾器呈現屏幕。現在我正在尋找一種方法與其他人也可以訪問應用程序的人分享這個觀點。

雖然在一個簡單的場景,這可以通過查詢字符串和分享網址實現的,這怎麼能在被應用到渲染視圖一堆的選擇/過濾器更復雜的情況下可以實現嗎?

首先,我實現了一個基本框架。數據結構將保存表示控件和與之相關的值的鍵值對。我堅持這一個數據庫和網頁將負責解析鍵值收集和表現自己,但我認爲,當有喜歡的功能,如分組網格複雜的控制,這可能是不實際的,過濾等

最重要的是,如果該解決方案不會強制aspx以某種方式實現以保持它們,那將是非常好的。

有任何建議。

謝謝

回答

1

您可以使用靜態變量。什麼是靜態的,是共享的。

簡單地說:靜態variabels屬於應用。所有打開的窗口屬於同一個應用程序,這應該與標準設置一起使用。

需要注意的是在大的Web服務器IIS可以設置爲運行同一應用程序的多個實例。在這種情況下,靜態變量不會如此簡單地共享。但我認爲這是一個特例,你可以省略它。

+0

請注意,靜態變量中的任何數據將在應用程序停止/重新啓動時消失。當您在IIS中重新啓動網站時,會發生這種情況。如果您需要保留數據,請不要依賴它,但如果您希望兩個用戶同時看到相同的內容,則它可以工作。 – 2011-01-19 20:40:24

+0

謝謝,但我不認爲我想找什麼。 – StudentForever 2011-01-19 20:49:07

+1

不是一個好主意。基本上,系統中的每個人都擁有相同的視圖,如果不止一個人同時更改視圖,則會出現「最後獲勝」的情況,如果您在重新水化視圖的過程中多次讀取變量,那麼您當靜態變量在你的下面變化時可以得到混合結果。 – Greg 2011-01-19 21:19:25

1

只是頭腦風暴,但這裏去... 由於您在鍵值對中存儲控件及其數據(基本上是自定義視圖狀態),並將該信息存儲在數據庫中,因此將該狀態信息上的鍵關聯。然後,只需將該鍵添加到查詢字符串中,當用戶訪問該頁時,在數據庫中查找該鍵,並使用爲其保存的數據加載控件,獲取該鍵和利潤?

所以你的鏈接看起來像: http://www.mysite.com/mypage?id=SomeKey

不知道真正的意圖和參與這似乎過於簡單化的複雜性,並道歉,如果我完全錯過了這個標誌。

0

如果您使用的是第三方網格控件,它們可能會將此過濾器狀態存儲在cookie中。作爲一種特殊情況,您可能可以插入此係統來堅持網格狀態。類似於1)將數據從網格的響應cookie存儲到數據庫中2)從數據庫檢索cookie信息,將其添加到響應cookie收集中。

相關問題