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;
            }
        }
    }
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];
  • 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 Aug 2 '11 at 14:24
  • I'm not sure I'm following you. – Rob D'Oria Aug 2 '11 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 Aug 2 '11 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 Aug 3 '11 at 7:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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