Get the segments that a page uses

When a page is personalized, Sitefinity CMS provides a way to retrieve the segments used by the page. For more information on personalizing a page, see Create a personalized version of a page and For developers: Create personalized page.
The following snippet demonstrates how to get the segments for page:

C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telerik.Sitefinity.Modules.Pages;
using Telerik.Sitefinity.Personalization.Impl;
using Telerik.Sitefinity.Personalization.Impl.Model;

namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Personalization
{
    public partial class PersonalizationSnippets
    {
        public IQueryable<Segment> GetUsedSegmentsForPage(Guid personalizationMasterId, PageManager pageManager)
        {
            var personalizationManager = PersonalizationManager.GetManager();
            var segments = personalizationManager.GetUsedSegmentsForPage(personalizationMasterId, pageManager);
            return segments;
        }
    }
}

First you initialize the PersonalizationManager. Then you call the GetUsedSegmentsForPage method by passing personalizationMasterId and pageManager as parameters.

Want to learn more?
Enhance your Sitefinity skills by enrolling in free training sessions. Become Sitefinity certified through Progress Education Community to strengthen your professional credentials.
New to Sitefinity?