Class PageReference
Holds references to pages in the EPiServer system.
Implements
Inherited Members
Namespace: EPiServer.Core
Assembly: EPiServer.dll
Version: 12.0.3Syntax
public class PageReference : ContentReference, IComparable, IReadOnly<ContentReference>, IComparable<ContentReference>, IEquatable<ContentReference>, IReadOnly<PageReference>, IReadOnly
  Remarks
Instead of using raw integer IDs, the ID is packaged in a PageReference structure. A page can have several versions and even be located on another physical server. This information is also stored inside the structure.
Constructors
PageReference()
Initializes a new instance of the PageReference class.
Declaration
public PageReference()
  PageReference(ContentReference)
Initializes a new instance of the PageReference class from a ContentReference.
Declaration
public PageReference(ContentReference contentLink)
  Parameters
| Type | Name | Description | 
|---|---|---|
| ContentReference | contentLink | 
PageReference(Int32)
Initialize a new PageReference with page id.
Declaration
public PageReference(int pageID)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | pageID | The Page ID to set  | 
      
PageReference(Int32, Boolean)
Initialize a new PageReference with page id and any available version. If no version is published the most recently saved will be loaded.
Declaration
public PageReference(int pageID, bool anyVersion)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | pageID | The page id to set  | 
      
| System.Boolean | anyVersion | This parameter is not used, see remarks  | 
      
PageReference(Int32, Int32)
Initialize a new PageReference with page id and working version.
Declaration
public PageReference(int pageID, int workPageID)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | pageID | The page id to set  | 
      
| System.Int32 | workPageID | The work id to set  | 
      
PageReference(Int32, Int32, String)
Initialize a new PageReference with page id, working version and remote site.
Declaration
public PageReference(int pageID, int workPageID, string remoteSite)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | pageID | The page id to set  | 
      
| System.Int32 | workPageID | The version to set  | 
      
| System.String | remoteSite | The name of the remote site  | 
      
PageReference(Int32, Int32, String, Boolean)
Initialize a new PageReference with page id, working version and remote site.
Declaration
public PageReference(int pageID, int workPageID, string remoteSite, bool anyVersion)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | pageID | The page id to set  | 
      
| System.Int32 | workPageID | The version to set  | 
      
| System.String | remoteSite | The name of the remote site  | 
      
| System.Boolean | anyVersion | This parameter is not used, see remarks  | 
      
PageReference(Int32, String)
Initialize a new PageReference with page id and remote site.
Declaration
public PageReference(int pageID, string remoteSite)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | pageID | The page id to set  | 
      
| System.String | remoteSite | The name of the remote site  | 
      
PageReference(String)
Initialize a new PageReference from a string in the format pageID[_workID[_remoteSite]] or - throws EPiServerException on invalid argument
Declaration
public PageReference(string complexReference)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | complexReference | The string containing page information  | 
      
Exceptions
| Type | Condition | 
|---|---|
| EPiServerException | Thrown if the string cannot be parsed as a valid PageReference.  | 
      
Fields
EmptyReference
Returns an empty PageReference.
Declaration
public static readonly PageReference EmptyReference
  Field Value
| Type | Description | 
|---|---|
| PageReference | 
SelfReference
Returns a PageReference that references the current page.
Declaration
public static readonly PageReference SelfReference
  Field Value
| Type | Description | 
|---|---|
| PageReference | 
Methods
Copy()
Copies this instance.
Declaration
public PageReference Copy()
  Returns
| Type | Description | 
|---|---|
| PageReference | 
CreateWritableClone()
Create a copy of the current object instance that is writable.
Declaration
public PageReference CreateWritableClone()
  Returns
| Type | Description | 
|---|---|
| PageReference | A new copy of the object.  | 
      
Remarks
The cloning is a deep-copy.
IsNullOrEmpty(PageReference)
Determines whether the specified page link is null or empty.
Declaration
public static bool IsNullOrEmpty(PageReference pageLink)
  Parameters
| Type | Name | Description | 
|---|---|---|
| PageReference | pageLink | The page link.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
  | 
      
IsValue(PageReference)
Determines whether the passed PageReference is initiated with a value.
Declaration
public static bool IsValue(PageReference pageLink)
  Parameters
| Type | Name | Description | 
|---|---|---|
| PageReference | pageLink | The PageReference object to be checked.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
  | 
      
Parse(String)
Parse and return a PageReference from a string.
Declaration
public static PageReference Parse(string s)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | s | The string, in the format pageID[_workID[_remoteSite]].  | 
      
Returns
| Type | Description | 
|---|---|
| PageReference | The PageReference, or PageReference.EmptyReference if it's invalid  | 
      
Exceptions
| Type | Condition | 
|---|---|
| EPiServerException | If string is not parsable as a pagereference  | 
      
ParseUrl(String)
Parse a url for PageLink. It is assumed that the url is root-relative, i.e. starts with a "/".
Declaration
public static PageReference ParseUrl(string url)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | url | Url to parse, assumed to start with "/"  | 
      
Returns
| Type | Description | 
|---|---|
| PageReference | A PageReference or PageReference.EmptyReference if it's not a valid reference  | 
      
Remarks
In order to successfully parse a FURL with ParserUrl, first convert the FURL to an internal url - use the UrlRewriteProvider.ConvertToInternal method.
TryParse(String, out PageReference)
Create a new PageReference from a string in the format pageID[_workID[_remoteSite]]
Declaration
public static bool TryParse(string complexReference, out PageReference result)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | complexReference | The string containing page information.  | 
      
| PageReference | result | The PageReference created from the string.  | 
      
Returns
| Type | Description | 
|---|---|
| System.Boolean | True if parsing was successful.  |