EPiServerSeptember 1, 2009

Default property type mappings in Page Type Builder

Default property type mappings in Page Type Builder

If you don't specify what type of EPiServer property a code property should map to using the Type property on the PageTypeProperty attribute Page Type Builder will try to figure it out for you. The default mappings are as follows:

Code property type Default Page Type Property Type
string PropertyXhtmlString
int PropertyNumber
int? PropertyNumber
bool PropertyBoolean
bool? PropertyBoolean
DateTime PropertyDate
DateTime? PropertyDate
float PropertyFloatNumber
float? PropertyFloatNumber
PageReference PropertyPageReference
PageType PropertyPageType

 

That is, if you create a couple of properties with code such as this:

[PageTypeProperty]
public virtual string MainBody { get; set; }

[PageTypeProperty]
public virtual PageReference LinkTo { get; set; }

[PageTypeProperty]
public virtual bool IncludeInRssFeed { get; set; }

It’s equivalent to writing the code this way:

[PageTypeProperty(Type= typeof(PropertyXhtmlString))]
public virtual string MainBody { get; set; }

[PageTypeProperty(Type = typeof(PropertyPageReference))]
public virtual PageReference LinkTo { get; set; }

[PageTypeProperty(Type = typeof(PropertyBoolean))]
public virtual bool IncludeInRssFeed { get; set; }

If you on the other hand where to create a property of a type that isn’t included in the default mapped types in the table above and you don’t specify the Type property of the attribute, such as this:

[PageTypeProperty]
public virtual Uri LinkUri { get; set; }
You’ll get an error message like the one below at runtime.

ErrorMessage