Сокрытие информации о пользователе создавшем/изменившем элемент
Небольшая заметка об интересной возможности SharePoint: сокрытие информации о пользователе создавшем/изменившем элемент списка.
За данное поведение отвечает булево свойство SPListItem.ShowUser. Указав значение true, вместо имени пользователя мы увидим "***". Относится это только к полям CreatedBy и ModifiedBy.
Если посмотреть класс SPFieldLookupValue, то можно увидеть свойство IsSecretFieldValue и один из конструкторов:
- public class SPFieldLookupValue
- {
- public SPFieldLookupValue(string fieldValue)
- {
- if (!string.IsNullOrEmpty(fieldValue))
- {
- if (fieldValue == "***")
- {
- this.m_secretFieldValue = true;
- }
- else
- {
- // ...
- }
- }
- }
- // ...
- }
Программно мы все равно сможем получить свойство LookupId, а вот LookupValue опять же вернет нам "***". Хоть данный конструктор доступен, использовать его не получится: при сохранении произойдет исключение, намекающее нам, что мы пытаемся изменить read-only свойство.