Setting EPiServer 6r2 PageTypeBuilder Default Property Values

This is how you set default values for PTB 2.0 poperties in Episerver 6r2:
In the [PageTypeProperty] method attribute, add:

DefaultValue = 0, 
DefaultValueType=EPiServer.DataAbstraction.DefaultValueType.Value,

E.g.:

[PageTypeProperty(SortOrder = 100,
Tab = typeof(RelatedContentTab),
EditCaption = "Related content sort index",
Type = typeof(PropertyNumber),
DefaultValue = 20,
DefaultValueType = DefaultValueType.Value)]
int RelatedContentSortIndex { get; set; }

The DefaultValue could be any type of object. The EPiServer.DataAbstraction.DefaultValueType.Value is just an enum that indicates that a default value should be used.

However this has to be done before the page is created for the first time, else it wont have any effect until next time a page is created.

See: http://pagetypebuilder.codeplex.com/workitem/7831
Another approach, if suitable, could be to just add the “Required” in the first place to avoid missing values from the editors.

E.g.:

[PageTypeProperty(SortOrder = 100,
Tab = typeof(RelatedContentTab),
EditCaption = "Related content sort index",
Type = typeof(PropertyNumber),
Required = true)]
int RelatedContentSortIndex { get; set; }

 In EPiServer 7 this approach can be used:
See below heading “Default property values” here:
http://www.david-tec.com/2012/06/Comparing-PageTypeBuilder-and-EPiServer-7-Preview-typed-pages-part-3-of-3/

Leave a Reply