这是一个新手问题:
我们有一个带有用户控件的Web部件和一个SP列表作为数据源。
对于不同类型的网站,说团队网站,发布门户网站等相应列表的路径会有所不同。例如:团队网站为http://<Server>/Lists/<List Name>
,发布门户网站为http://<Server>/<Locale>/Lists/<List Name>
。
无论列表放在网站集中的哪个位置,如何管理Web部件?
请建议。
答案 0 :(得分:3)
您应该在Web部件上公开指向列表URL的属性。然后,您可以注释该属性,以便SharePoint自动允许在“编辑器区域”中设置属性。 (IE是“编辑Web部件”时出现的右侧面板)
您可以使用以下属性来影响SP呈现/保持设置的方式:
答案 1 :(得分:3)
在大多数网站上,我在网站集的根目录中都有一个配置列表。该列表由键/值对组成。它仅限于管理员访问权限,并存储此类设置。因为它只是另一个SharePoint列表,所以很容易编辑。
因此,Web部件将在配置列表上执行SPQuery并查找特定密钥(例如“列出数据源位置”)。将返回该URL,然后可以将其用作数据源。虽然您可能希望实现可以覆盖的默认值,但无需在Web部件的每个实例上设置键或URL。
(另外,如果需要存储更复杂的数据结构,则使用自己的配置列表的更好选择是SPConfigStore。)
答案 2 :(得分:1)
解决问题的另一种方法是让网络部分遍历所有网站集的网站(SPWeb)并在那里搜索所需的列表。
如果您通过对象模型访问网站,网站是否已本地化并不重要。您可以使用其SPWeb.Lists属性检索网站的所有列表。