Типы значений пользовательских полей 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?

0 ответов

Другие вопросы по тегам