Class DynamicProperty
Read and edit dynamic properties.
Inheritance
Namespace: EPiServer.DataAbstraction
Assembly: EPiServer.dll
Version: 12.0.3Syntax
public class DynamicProperty : Object
Remarks
EPiServer.DataAbstraction.DynamicProperty is a non-cached API for administrative purposes and should not be used on normal templates that are not for administrative purposes. Using this API on your templates will significally impact performance. The recommendation is always to read dynamic properties on PageData objects returned from the global instance of the DataFactory class, EPiServer.DataFactory.Instance.
Examples
Example that changes the value of dynamic property "MetaKeywords" on the current page.
DynamicProperty prop = DynamicProperty.Load(CurrentPage.PageLink, "MetaKeywords");
prop.PropertyValue.Value = "Keyword1,Keyword2";
prop.Save();
Examples that outputs some debug information for the current page
DynamicPropertyCollection props = DynamicProperty.ListForPage(CurrentPage.PageLink);
foreach (DynamicProperty prop in props)
{
Response.Write("Property " + prop.PropertyValue.Name + " is");
switch (prop.Status)
{
case DynamicPropertyStatus.Defined:
Response.Write(" set on this page to " + prop.PropertyValue.ToString());
break;
case DynamicPropertyStatus.Inherited:
Response.Write(" inherited from " + prop.InheritedPageLink.ToString() + " with value " + prop.InheritedValue.ToString());
break;
case DynamicPropertyStatus.Undefined:
Response.Write(" not defined.");
break;
default:
break;
}
}
Constructors
DynamicProperty()
Create a new dynamic property based on a PropertyData object.
Declaration
public DynamicProperty()
DynamicProperty(PageReference, PageReference, PropertyData)
Create a new dynamic property based on tree information
Declaration
public DynamicProperty(PageReference pageLink, PageReference parentLink, PropertyData propertyValue)
Parameters
| Type | Name | Description |
|---|---|---|
| PageReference | pageLink | The page where the property is defined. |
| PageReference | parentLink | The closest parent that contains dynamic property definitions. |
| PropertyData | propertyValue | The actual value of the dynamic property. |
DynamicProperty(PageReference, PropertyData, DynamicPropertyStatus, PageReference, String)
Create a new dynamic property based on a page and inheritance information
Declaration
public DynamicProperty(PageReference pageLink, PropertyData propertyValue, DynamicPropertyStatus status, PageReference inheritedPageLink, string inheritedValue)
Parameters
| Type | Name | Description |
|---|---|---|
| PageReference | pageLink | The page where the property is defined. |
| PropertyData | propertyValue | The actual value of the dynamic property. |
| DynamicPropertyStatus | status | Information about where this property is set |
| PageReference | inheritedPageLink | The page from where the inherited value origins. |
| System.String | inheritedValue | The textual presentation of the inherited value |
DynamicProperty(PageReference, PropertyData, DynamicPropertyStatus, PageReference, String, String)
Create a new dynamic property based on a page and inheritance information
Declaration
public DynamicProperty(PageReference pageLink, PropertyData propertyValue, DynamicPropertyStatus status, PageReference inheritedPageLink, string inheritedValue, string languageBranch)
Parameters
| Type | Name | Description |
|---|---|---|
| PageReference | pageLink | The page where the property is defined. |
| PropertyData | propertyValue | The actual value of the dynamic property. |
| DynamicPropertyStatus | status | Information about where this property is set |
| PageReference | inheritedPageLink | The page from where the inherited value origins. |
| System.String | inheritedValue | The textual presentation of the inherited value |
| System.String | languageBranch | The specific language branch if the property is language specific |
Properties
InheritedPageLink
The page where the interited value originates
Declaration
public PageReference InheritedPageLink { get; }
Property Value
| Type | Description |
|---|---|
| PageReference |
InheritedValue
The inherited value of the dynamic property, primaraly user for GUI display
Declaration
public string InheritedValue { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
LanguageBranch
Gets or sets the specific language branch if the property is language specific.
Declaration
public string LanguageBranch { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
Override
If value should override new definitions of this property further down in the tree structure.
Declaration
public bool Override { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
PageLink
The page where the dynamic property is defined.
Declaration
public PageReference PageLink { get; set; }
Property Value
| Type | Description |
|---|---|
| PageReference |
ParentLink
The closest parent that contains dynamic property definitions.
Declaration
public PageReference ParentLink { get; set; }
Property Value
| Type | Description |
|---|---|
| PageReference |
PropertyValue
The actual value of the dynamic property.
Declaration
public PropertyData PropertyValue { get; }
Property Value
| Type | Description |
|---|---|
| PropertyData |
Status
Status of property as listed for a specific page
Declaration
public DynamicPropertyStatus Status { get; }
Property Value
| Type | Description |
|---|---|
| DynamicPropertyStatus |
Methods
ListForPage(PageReference)
List all dynamic properties that can be set for a specific page
Declaration
public static DynamicPropertyCollection ListForPage(PageReference pageLink)
Parameters
| Type | Name | Description |
|---|---|---|
| PageReference | pageLink | The page to read dynamic properties from |
Returns
| Type | Description |
|---|---|
| DynamicPropertyCollection | A collection of dynamic properties |
Load(PageReference, String)
Load a dynamic property by name and page
Declaration
public static DynamicProperty Load(PageReference pageLink, string propertyName)
Parameters
| Type | Name | Description |
|---|---|---|
| PageReference | pageLink | The page to read dynamic properties from |
| System.String | propertyName | The property name |
Returns
| Type | Description |
|---|---|
| DynamicProperty |
Save()
Save changes to a dynamic property
Declaration
public void Save()
SaveCollection(PageReference, DynamicPropertyCollection)
Save a collection of dynamic properties in one batch
Declaration
public static void SaveCollection(PageReference pageLink, DynamicPropertyCollection props)
Parameters
| Type | Name | Description |
|---|---|---|
| PageReference | pageLink | The page to save dynamic properties for |
| DynamicPropertyCollection | props | The collection of dynamic properties to save |
TranslateDisplayName()
Translates the name of the dynamic property.
Declaration
public virtual string TranslateDisplayName()
Returns
| Type | Description |
|---|---|
| System.String | The translated name of the dynamic property. |
Remarks
This method is needed as we add the language branch to the property name to get unique keys in the PropertyDataCollection.