Pregunta

Mis perfiles de usuario tienen algunas propiedades personalizadas. Ahora necesito obtener una lista de todos los valores que esta propiedad personalizada tiene en cualquier usuario. Este código devuelve un error de que "división de columna" no existe. Puede haber sido eliminado por otro usuario ".

¿Es este el enfoque correcto? Hay muchos usuarios y posibles muchos valores distintos.

 SPListItemCollection userInformationList = SPContext.Current.Web.SiteUserInfoList.Items;
  var divisions= (from SPListItem userItem in userInformationList.Items where userItem["Division"] != null select userItem["Division"]); 
¿Fue útil?

Solución

Verifique el GetUserProfile de UserProfilemanager. Obtiene todo el objeto, debe ser el lugar correcto para buscar una lista de todas las propiedades personalizadas.

Estoy trabajando en una parte web casi simlial. Estoy tratando de mostrar solo un par de propiedades personalizadas.

Espero ayudar

http://msdn.microsoft.com/en-us/library/microsoft.office.server.userprofiles.userprofilemanager.aspx

Otros consejos

¡En primer lugar, nunca use Linq de esta manera en SharePoint! ¡Recuperará la lista completa de información del usuario de la base de datos al presionar la propiedad .Items! En su lugar, use una consulta CAML para "buscar" a los usuarios que usan el objeto Spquery.

Recomendaría que uses el U2U Caml Consultor de consultas Para construir su consulta: con esa herramienta obtendrá las columnas correctas y el nombre de la columna.

Licenciado bajo: CC-BY-SA con atribución
scroll top