1

With the Code below i'm able to get access to a custom profile property which i created ("Qualifications"). Somehow i dont get it how to get access to the stored information for the custom property field..

using System;
    using System.ComponentModel;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.WebControls;
    using Microsoft.SharePoint.Security;
    using Microsoft.SharePoint.Portal;
    using Microsoft.Office.Server;
    using Microsoft.Office.Server.UserProfiles;
    using System.Diagnostics;

    namespace CV.CV
    {
        [ToolboxItemAttribute(false)]
        public class CV : WebPart
        {

            Property propQualifications = null;
            string strQualifications = "";

            protected override void OnPreRender(EventArgs e)
            {
                var test = GetUserProperties();
            }

            public Microsoft.Office.Server.UserProfiles.PropertyCollection GetUserProperties()
            {
                Microsoft.Office.Server.UserProfiles.PropertyCollection oPropertyCollection = null;

                System.Security.PermissionSet ps = new System.Security.PermissionSet(System.Security.Permissions.PermissionState.Unrestricted);
                ps.Assert();

                Microsoft.SharePoint.SPServiceContext serviceContext = Microsoft.SharePoint.SPServiceContext.Current;
                Microsoft.Office.Server.UserProfiles.UserProfileManager upm = new Microsoft.Office.Server.UserProfiles.UserProfileManager(serviceContext);

                oPropertyCollection = upm.PropertiesWithSection;

                propQualifications = oPropertyCollection.GetPropertyByName("Qualifications");
                strQualifications = propQualifications.ToString();

                System.Security.CodeAccessPermission.RevertAssert();

                return oPropertyCollection;
            }
        }
    }

1 Answer 1

4

You need to get a user profile object and once you have the object you can access the profile's properties, including the custom ones. For example:

        UserProfileManager upm = new UserProfileManager(SPServiceContext.GetContext(site));
        UserProfile p = upm.GetUserProfile("accountname");
        object value = p["propertyname"][0];
4
  • I can't debug this Part.. it shows me the disassembly.. so its a little bit hard to check if its working or not..
    – Peter
    Commented Aug 2, 2011 at 14:24
  • I'm not sure I'm following you.
    – Rob D'Oria
    Commented Aug 2, 2011 at 18:57
  • When i'm debugging your code, which i added in my webpart. I can't debug these commands. I have the posibility to see the disassembly since the debugger wants to debug on server-side
    – Peter
    Commented Aug 2, 2011 at 20:32
  • I had a Breakpoint on object value = p["propertyname"][0]; so the debugger had an error, removed it and now everything works fine!
    – Peter
    Commented Aug 3, 2011 at 7:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.