EPiServer  /  CMS September 01, 2009

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

PS. For updates about new posts, sites I find useful and the occasional rant you can follow me on Twitter. You are also most welcome to subscribe to the RSS-feed.

Joel Abrahamsson

Joel Abrahamsson

I'm a passionate web developer and systems architect living in Stockholm, Sweden. I work as CTO for a large media site and enjoy developing with all technologies, especially .NET, Node.js, and ElasticSearch. Read more

Comments

comments powered by Disqus

My book

Want a structured way to learn EPiServer 7 development? Check out my book on Leanpub!

More about EPiServer CMS