Oct 10, 2011
  2860
(2 votes)

FindPagesWithCriteriaContext v1.1

Just over a couple of weeks ago I released the FindPagesWithCriteriaContext class.  This essentially provides a nice little Linq wrapper over the top of the FindPagesWithCriteria API, more details can be found here.

The reason for the blog post is that I have added a few new little features to it which some people may be interested in these are shown below.  Basically you can now search for properties that are not properties of the PageData or PageTypeBuilder page type implementation.  This is done by using the new “GetPropertyValue” extension method which accepts a property name and property data type as parameters.

1. Find pages of a specific page type “ImageGalleriesPageType” which contain the text “GalleryOne” within a serialized entity custom property named “ImageGalleryCollection”:

  1: var query = new FindAllPagesWithCriteriaContext<ImageGalleriesPageType>(PageReference.StartPage)
  2:                 .Where(p => p.ImageGalleryCollection.ToString().Contains("GalleryOne"));

2. Find pages of a specific page type “ImageGalleriesPageType” which have a property named “ImageGalleryCollection” with a value of “test”.

  1: query = new FindAllPagesWithCriteriaContext<ImageGalleriesPageType>(PageReference.StartPage)
  2:                 .Where(p => p.GetPropertyValue("ImageGalleryCollection", PropertyDataType.LongString).ToString() == "test");

3. Find pages of a specific page type “ImageGalleriesPageType” which have a property named “ImageGalleryCollection” which contains the text “GalleryOne”.

  1: query = new FindAllPagesWithCriteriaContext<ImageGalleriesPageType>(PageReference.StartPage)
  2:                 .Where(p => p.GetPropertyValue("ImageGalleryCollection", PropertyDataType.LongString).ToString().Contains("GalleryOne"));

4. Find pages of a specific page type “ImageGalleriesPagetype” which have a property named" “ImageGalleryCollection” which is null.

  1: query = new FindAllPagesWithCriteriaContext<ImageGalleriesPageType>(PageReference.StartPage)
  2:                 .Where(p => p.GetPropertyValue("ImageGalleryCollection", PropertyDataType.LongString) == null);

For more details of usage please refer to the previous blog post.

 

Feedback

Feedback as always is greatly received.  If there are bugs/issues please feel free to email or twitter me @croweman and I will do my best to resolve them.

Oct 10, 2011

Comments

Please login to comment.
Latest blogs
Optimizely CMS 13 and the Alloy demo site

The Alloy demo site now runs on Optimizely CMS 13. Here’s a quick guide to getting it up and running locally.

Tomas Hensrud Gulla | Apr 10, 2026 |

A day in the life of an Optimizely OMVP: Getting Up to Speed with Optimizely CMS 13 — A Free Learning Path

If you're working with Optimizely and haven't started exploring CMS 13 yet, now's the time. I've put together a dedicated CMS 13 course within the...

Graham Carr | Apr 10, 2026

A day in the life of an Optimizely OMVP: Optimizely CMS 13 Is Here: The Features, The Add-Ons, and What's Coming Next

CMS 13 went GA on 31st March 2026, and after months of previews, webinars, and internal engineering sessions, it's finally real. I've been deep in...

Graham Carr | Apr 10, 2026

How to get the Page Tree back in Optimizely CMS

Lost the page tree in Optimizely CMS? Here's why it happens and the non-obvious fix to get it back.

Henning Sjørbotten | Apr 10, 2026 |