Типы значений пользовательских полей sharepoint 2013?
Я хотел бы прочитать значение поля пользователя из properties.AfterProperties
(или элемент списка) в получателе события ItemUpdating и получить SPUser
(или хотя бы SPFieldUserValue
) объект, поэтому я попытался:
var fldValue = properties.AfterProperties[fldName] ?? properties.ListItem[fldName];
result = (SPFieldUserValue)fldValue;
исключение сообщило мне, что я не могу из string
в SPFieldUserValue
, отладка подтвердила, что типом значения поля является строка.
в этом случае пользовательское поле объявляется как Type="User"
в схеме списка другие пользовательские поля в том же списке объявлены как Type="UserMulti"
и для тех, что значение поля имеет тип SPFieldUserValueCollection
...
Теперь я хотел бы знать, если это то, как sharepoint обрабатывает пользовательские поля в целом, или это просто ошибка в плохо настроенном VM? поскольку обработка однопользовательских и многопользовательских полей по-разному не так уж и плоха, мне просто нужно знать, могу ли я полагаться на эти типы для значений полей: однопользовательское поле -> строковое и многопользовательское поле -> SPFieldUserValueCollection?