2010-04-07 96 views
2

我想知道是否還有另一個解決方案來解決我的問題,這被認爲是更多的Sharepoint方式。首先,我的網站是一個互聯網站點,而不是內聯網。問題是,我想要做的就是在Sharepoint中保存頁面間的值/變量。我知道Session變量的問題,但這似乎是我能看到完成這一任務的唯一方法。我知道有些webparts可以存儲這個值,但是我錯誤地認爲這不會在頁面間持續存在?從頁面到頁面持續存在的值/變量

基本上,我會擴展內容查詢Web部件基於掀起了變量/值來動態地過濾它的結果。用戶從下拉菜單中選擇他們的「區域」,並且網站中的CQWP將根據此值更改和查詢結果(由於它是加拿大網站,它將是省級結構,因此如果某人選擇省份「安大略省」 ,這個值被保存在一個全局變量中,並且遍佈整個站點的這些擴展的CQWP將獲得這個值,並且查詢列表被標記爲安大略省)。

會話變量是唯一的解決方案嗎?

謝謝大家!

回答

0

會話變量不是唯一的解決方案。您也可以使用瀏覽器Cookie。

不一定是「的SharePoint方式」,但它是一個選項。

0

在SharePoint的方式很可能是使用的東西在用戶配置文件,但當然這不是因爲適合一個匿名的網站。不要太擔心走出SharePoint的做事方式 - 與互聯網網站幾乎是不可避免的。

我推薦一個cookie,而不是一個會話變量,如果你只需要存儲的一個值 - 簡單的從客戶端或服務器代碼,並沒有你用會話獲取的潛在存儲問題使用。

0

您可以隨時使用數據庫來保存這種數據。不介紹SharePoint場景中會話的問題。

0

您可以閱讀或寫入或刪除堅持在網絡或web應用水平鍵/值,看看SPWeb.Properties Property

string strKey = "YourKey"; 
string strValue = "YourValue"; 

if (web.Properties.ContainsKey(strKey)) 
    // if property exists then update it 
    web.Properties[strKey] = strValue; 
else 
    // if property doesn't exist then add it 
    web.Properties.Add(strKey, strValue); 

web.Properties.Update();