Sharepoint web部件控件的动态数量

本文关键字:动态 web 部件控件 Sharepoint | 更新日期: 2023-09-27 18:24:52

背景

我正在设计一个自动完成搜索web部件,以添加到现有网站。概念如下:

我需要在web部件上为每个实体类型列表都有一个复选框。实体类型列表是从数据库中提取的。这些复选框将定义web部件将搜索的实体。

示例

因此,例如,我可能将教师、学生、学校和班级作为我的实体列表。用户应该看到每个复选框。或者,我可能只有老师和班级作为类型。在这种情况下,用户应该只看到这两个复选框。

所以,如果我提前知道我需要多少个复选框,我可以这样做:

[WebBrowsable(true)]
[WebDescription("Teachers")]
[WebDisplayName("Teachers")]
[Personalizable(PersonalizationScope.Shared)]
public bool SearchByTeachers { get; set; }
[WebBrowsable(true)]
[WebDescription("Classes")]
[WebDisplayName("Classes")]
[Personalizable(PersonalizationScope.Shared)]
public bool SearchByClasses { get; set; }

但很明显我做不到,因为我不知道我需要多少。


TL;DR

我不需要任何实现方面的帮助,我只想知道如何在web部件上拥有动态数量的控件,因为它们是由web部件类的属性驱动的

Sharepoint web部件控件的动态数量

SharePoint Web部件只是ASP.NET控件。

可以通过Controls集合动态添加控件。没有什么可以阻止您建立数据库连接/读取xml配置文件等来获取控件的源代码。

示例:

this.Controls.Add(new Checkbox() { Text = "Hit me"});