2010-07-20 58 views
1

我已經創建了具有用戶可以配置的自定義屬性的SharePoint Web部件。但是,這些僅適用於Web部件的該實例。我如何向用戶提供一個地方以允許用戶設置適用於Web部件的每個實例的屬性?允許SharePoint Web部件的全局配置

(我是新的SharePoint開發和使用WSPBuilder創建具有特徵的Web部件並將其部署在。)

回答

2

您可以使用SPSite的RootWeb的屬性包(或,使其成爲SPWeb特定的當前SPWeb)來存儲該webpart(在該特定網站集中)的全局設置。創建一個LAYOUTS頁面,允許在網站集廣泛的情況下編輯這些設置,使用RunWithElevatedPrivileges將屬性存儲在SPWeb的屬性包中。

+0

+1 - 看到這個答案的更多信息,包括「分層配置管理器」,也就是生產準備MS指導圖書館 HTTP的一部分://計算器。 COM /問題/ 3008473 /什麼 - 是 - 一 - 正確的路到店現場級的全局變量-IN-A-的SharePoint站點/ 3014277#3014277 – Ryan 2010-07-20 09:52:51

0

它已經有點,因爲我用的SharePoint ...的第一件事我會嘗試創建一個List,其記錄是要提供給Web部件的參數,並對其進行配置,以便用戶只能查看/修改其自己的記錄。

注意事項:如果您希望在新用戶註冊時動態顯示記錄,這可能會非常棘手。而且,列表對於站點來說是「本地」的,所以你不能有從不同站點的部分看到的單個列表。 (或者至少這是SP 2007的工作原理)。

根據您需要正確配置webpart的參數數量,您還可以在用戶配置文件中使用自定義的「字段」,但這不是非常健壯,可能是一種矯枉過正。

1

嘗試靜態成員,如:

[WebBrowsable(false), Personalizable(PersonalizationScope.Shared)] 
public string configSetting 
{ 
    get { return _configSetting; } 
    set { _configSetting = value; } 
} 
private static string _configSetting;