允许SharePoint Web部件的全局配置

时间:2010-07-20 07:34:49

标签: sharepoint web-parts

我创建了一个SharePoint Web部件,其中包含用户可以配置的自定义属性。但是,这些仅适用于Web部件的该实例。如何为用户提供允许用户设置适用于Web部件的每个实例的属性的位置?

(我是SharePoint开发的新手,我正在使用WSPBuilder创建一个带有功能的Web部件并进行部署。)

3 个答案:

答案 0 :(得分:2)

您可以使用SPSite的RootWeb的Property包(或者,使其成为SPWeb特定的,当前的SPWeb)来存储该webpart的全局设置(在该特定网站集中)。创建一个LAYOUTS页面,允许编辑这些设置(如果它是网站集范围广泛),使用RunWithElevatedPrivileges将属性存储在SPWeb的属性包中。

答案 1 :(得分:1)

尝试静态成员,例如:

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

答案 2 :(得分:0)

自从我使用SharePoint以来已经有点了...我要尝试的第一件事是创建一个List,其记录是您要提供给webpart的参数,并对其进行配置以便用户只能看到/修改自己的记录。

警告:如果您想在新用户注册时动态显示记录,这可能会非常棘手。此外,列表是网站的“本地”,因此您不能拥有从不同网站的部分中看到的单个列表。 (或者至少这是它在SP 2007中的运作方式)。

根据您需要正确配置webpart所需的参数数量,您还可以在用户配置文件中使用自定义“字段”,但这不是很强大,可能会过度。