Получить SPListItem в другом формате - PullRequest
1 голос
/ 12 июля 2011

Я хочу получить разные строки из SPListItem.Я покажу вам мою проблему на примере.Этот код

Console.WriteLine(SPItemName["Created By"]);
or
Console.WriteLine(SPItemName["Created By"].ToString);

возвращает «8; имя пользователя» (8 - это идентификатор пользователя).Если я посмотрю строку в SharePoint Designer, я могу выбрать даже формат для этого поля данных.Так что я мог бы получить HTML-код этого поля.

Как установить формат (например, HTML-код или текст) поля данных в c #?

спасибо

1 Ответ

1 голос
/ 12 июля 2011

Использовать либо SPFieldLookupValue

Если вам нужно только имя пользователя, используйте SPFieldLookupValue для отделения идентификатора от значения: var userValue = new SPFieldLookupValue(SPItemName["Created By"] as string)

Тогда вы можете:

  • userValue.LookupValue для возврата UserName
  • userValue.LookupId для возврата Id

Или SPFieldUserValue

Или еще лучше, вы можете создать объект SPFieldUserValue для доступа к любому другому пользователюсвойства, такие как электронная почта, логин и т. д.

SPFieldUserValue objUserFieldValue = new SPFieldUserValue(web, SPItemName["Created By"].ToString());

После этого вы можете использовать:

objUserFieldValue.User.LoginName;
objUserFieldValue.User.Name;
objUserFieldValue.User.ID;
objUserFieldValue.User.Groups;
objUserFieldValue.User.Roles;
objUserFieldValue.User.Email;
objUserFieldValue.User.Sid;
objUserFieldValue.User.UserToken;

http://www.sharepointkings.com/2009/04/spfielduservalue-and.html

Примечание: для создания SPFieldUserValue вы должны передатьссылка на Интернет, потому что SharePoint должен получать дополнительную информацию о пользователе из списка информации о пользователях для создания объекта SPFieldUserValue.

...