2010-01-20 32 views
3

我必須在我的Sharepoint webpart中存儲一些用戶特定的數據(字符串)。我想隱藏的webpart屬性應該做到這一點。在webpart屬性上嘗試使用以下屬性:將每個用戶數據存儲在sharepoint webpart

[WebBrowsable(false)] 
[Bindable(true)] 
[WebPartStorage(Storage.Personal)] 
[Personalizable(PersonalizationScope.User)] 

但是我在webpart中觀察到存儲的數據不是用戶特定的。任何幫助?

回答

2

您是如何讀取數據的?您可以使用WebPart.PartCacheRead方法檢索每個使用值。

可以修改web.config以表示您希望如何存儲WebPartCache。爲了支持高速緩存數據庫則必須包括[序列化()]屬性爲您的自定義類

WebPart.EffectiveStorage屬性還可以在確定的數據是如何存儲的幫助:

if (EffectiveStorage == Storage.Shared) 
{ 
    output.Write("<b>You are now in shared mode.</b>"); 
} 

只是想知道你爲什麼將WebBrowsable屬性設置爲false。用戶是否無法配置Web部件?何時以及如何設置房產價值?

+0

嗨,對不起,以後回覆。我實際上必須從下拉菜單中選擇用戶所選的數據。當用戶回到站點時,需要保留該放置選擇。 WebBrowsable設置爲false,因爲我不希望用戶看到webpart屬性。只需將下拉選定值存儲在webpart屬性 – John3030 2010-01-25 11:52:39

+0

只需一個想法,您可以使用SPWeb對象(http://msdn.microsoft.com/en-us/library/ee413763.aspx)中的一個屬性包,但最初認爲對於複雜的物體,並可能在你的情況下矯枉過正 – armannvg 2010-01-29 13:33:15