Рис.3. Добавление веб-части

Для того чтобы сделать возможным ввод параметров через свойства веб-части Sharepoint, необходимо всего лишь при разработке веб-части написать несколько строчек кода. Возможность указывать в настройках веб-части какие-то значения (например, источник данных, возможность выбора полного или сокращенного режима просмотра и т.д.) очень полезно на практике.

Выберем для создания Empty Sharepoint Project и назовем его CustomVarsWebParts (Рис.1)

Рис.1. Создание проекта

Рис.1. Создание проекта

Метод разворачивания – Deploy as farm solution (Рис.2)

Рис.2. Deploy as farm solution

Рис.2. Deploy as farm solution

Правый клик на решение -> Add -> New Item (или нажмите Ctrl + Shift + A) и выберите WebPart (Рис.3)

Рис.3. Добавление веб-части

Рис.3. Добавление веб-части

Для добавления полей дополнительных настроек необходимо написать примерно такой код:

1
2
3
4
5
6
7
8
9
        [Category("Extended Settings"),
        Personalizable(PersonalizationScope.Shared),
        WebBrowsable(true), WebDisplayName("Показывать да / нет"),
        WebDescription("Варианты настройки: да/нет")]
        public Boolean isShowFullList
        {
                get;
                set;
        }

В поле Category вводится название секции, где будет отображаться ввод переменной.
Указанный выше пример добавит возможность установки чекбокса в настройки веб-части.
Ниже примеры для других настроек веб-части:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//Просто строка
        [Category("Мои кастомные настройки"),
        Personalizable(PersonalizationScope.Shared),
        WebBrowsable(true), WebDisplayName("Выберите цвет"),
        WebDescription("Основной цвет текста, например, #FF0000")]
        public String setColorText
        {
            get;
            set;
        }
 
//Ввод даты
        [Category("Мои кастомные настройки"),
        Personalizable(PersonalizationScope.Shared),
        WebBrowsable(true), WebDisplayName("Укажите дату"),
        WebDescription("Введите дату для построения запроса по умолчанию")]
        public DateTime myDateTime
        {
            get;
            set;
        }
 
//Выбор из выпадающего списка
        public enum mySeason
        {
            Winter = 0,
            Spring,
            Summer,
            Autumn
        };
 
        [Category("Мои кастомные настройки"),
        Personalizable(PersonalizationScope.Shared),
        WebBrowsable(true), WebDisplayName("Значение из списка"),
        WebDescription("Выберите необходимое значение из списка")]
        public mySeason Season
        {
            get;
            set;
        }
Рис.4. Дополнительные настройки веб-части

Рис.4. Дополнительные настройки веб-части