Query segments
This topic explains how to query segments. To find a specific segment, you use the PersonalizationManager class and LINQ queries.
Find a segment by ID
To find a specific segment by ID, you use the GetSegments method:
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telerik.Sitefinity.Personalization.Impl;
using Telerik.Sitefinity.Personalization.Impl.Model;
namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Personalization
{
public partial class PersonalizationSnippets
{
public static Segment FindSegmentById(Guid segmentId)
{
var personalizationManager = PersonalizationManager.GetManager();
Segment segment = personalizationManager.GetSegments().Where(s => s.Id == segmentId).FirstOrDefault();
return segment;
}
}
}
To find segment, you use the GetSegments method and filter based on the Id property. If the segment does not exist, the method returns null. To find the segment, you can also use the GetSegment method:
C#
using System;
using System.Linq;
using Telerik.Sitefinity.Personalization.Impl;
using Telerik.Sitefinity.Personalization.Impl.Model;
namespace SitefinityWebApp
{
public class PersonalizationSnippets2
{
public static Segment FindSegmentById(Guid segmentId)
{
var personalizationManager = PersonalizationManager.GetManager();
Segment segment = personalizationManager.GetSegment(segmentId);
return segment;
}
}
}
Find a segment by title
To find a specific segment by its title, first, you use the GetSegments method. Then you filter based on the Title property:
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telerik.Sitefinity.Personalization.Impl;
using Telerik.Sitefinity.Personalization.Impl.Model;
namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Personalization
{
public partial class PersonalizationSnippets
{
public static Segment FindSegmentByTitle(string segmentName)
{
var personalizationManager = PersonalizationManager.GetManager();
Segment segment = personalizationManager.GetSegments().Where(s => s.Name == segmentName).FirstOrDefault();
return segment;
}
}
}
Get all segments
To get all segments, you use the GetSegments method without any filtering:
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telerik.Sitefinity.Personalization.Impl;
using Telerik.Sitefinity.Personalization.Impl.Model;
namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Personalization
{
public partial class PersonalizationSnippets
{
public static IQueryable<Segment> FindAllSegments()
{
var personalizationManager = PersonalizationManager.GetManager();
var allSegments = personalizationManager.GetSegments();
return allSegments;
}
}
}
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.
Get started with Integration Hub | Sitefinity Cloud
This free lesson teaches administrators, marketers, and other business professionals how to use Sitefinity Integration Hub to create automated workflows between Sitefinity and other business systems.
Web Security for Sitefinity Administrators
This free lesson teaches administrators the basics about protecting your Sitefinity instance and your sites from external threats. Configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.
Foundations of Sitefinity ASP.NET Core Development
The free on-demand video course teaches developers how to use Sitefinity ASP.NET Core and take advantage of its decoupled architecture and modern development model.