Query a PageNode by ID

Native API

To find the PageNode, you use the GetPageNodes method and filter based on the Id property. If the PageNode does not exist, the method returns null.

To find a particular PageNode by ID, use the GetPageNodes method in the following way:

C#
using System;
using System.Linq;
using Telerik.Sitefinity.Modules.Pages;
using Telerik.Sitefinity.Pages.Model;

namespace SitefinityWebApp
{
    public class QueryPages_FindPageNodeById_NativeAPI
    {
        public PageNode FindPageNodeByIdNativeAPI(Guid pageNodeId)
        {

            PageManager pageManager = PageManager.GetManager();

            PageNode node = pageManager.GetPageNodes().Where(n => n.Id == pageNodeId).FirstOrDefault();

            return node;
        }
    }
}

If there is no page node with the specified ID, the GetPageNode method throws an exception of type ItemNotFoundException.

Fluent API

To find a page using the Fluent API, you must use the page facade.

To initialize the page facade, you use App.WorkWith().Page() for the singular page facade or App.WorkWith().Pages() for the plural page facade.

To find a specific page node by ID, you use the plural page facade to ensure that the PageNode exists. Then, you use the Get method of the singular facade to get the page node. 
Use the following code sample:

C#
using System.Linq;
using Telerik.Sitefinity;
using Telerik.Sitefinity.Pages.Model;

namespace SitefinityWebApp
{
    public class QueryPages_FindPagebyUrl_FluentAPI
    {
        public PageData FindPagebyUrlFluentAPI(string urlName)
        {
            PageData pageData = null;

            var count = 0;
            App.WorkWith().Pages().Where(pN => pN.UrlName == urlName).Count(out count);

            if (count != 0)
            {
                pageData = App.WorkWith().Pages().Where(pN => pN.UrlName == urlName).Get().First().Page;
            }

            return pageData;
        }
    }
}

NOTE: If you do not ensure that the PageNode exists, the Get method throws an exception of type ItemNotFoundException when there is no PageNode with the specified ID.

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.
This Article Contains
New to Sitefinity?