Try our conversational search powered by Generative AI!

backing Type - Custom PropertyData not working

Vote:
 

Hi

Our solution is upgraded to EpiServer 7.5 recently and the custom PropertyData types are no longer functioning like before. 

We have a page property defined as follows with it's BakingType is set to a custom PropertyData class called SelectClubUserProperty which extends EPiServer.Core.PropertyString. 

[Display(Name = "Author Name (for Profile Page Link)",
Description = "Author will give a link to the profile page",
Order = 21,
GroupName = "Information")]
[BackingType(typeof(SelectClubUserProperty))]
public virtual string ResponsibleAuthor { get; set; }

In the SelectClubUserProperty class we have override the EPiServer.Core.IPropertyControl CreatePropertyControl() method to return a DropDownList of users. 

This custom PropertyData type and the page property is linked by BackingType annotation. Under the page properties in the page edit mode this shows the drop down list of users. But after 7.5 upgrade it is just a plain text field. 

#87357
Jun 11, 2014 12:37
Vote:
 

See example below. This will show a drop down list with three values. 
You could also read these blogposts.

http://world.episerver.com/Blogs/Linus-Ekstrom/Dates/2012/9/EPiServer-7-Configuring-editors-for-your-properties/

http://world.episerver.com/Blogs/Linus-Ekstrom/Dates/2013/12/SingleMultiple-selection-in-EPiServer-75/

[Display(Order = 159)]
[UIHint("LocalityType")]
public virtual string LocalityType { get; set; }

[EditorDescriptorRegistration(TargetType = typeof(string), UIHint = "LocalityType")]
private class LocalityDropdownEditorDescriptor : EditorDescriptor
        {
            public override void ModifyMetadata(ExtendedMetadata metadata, IEnumerable<Attribute> attributes)
            {
                SelectionFactoryType = typeof(LocalitySelectionFactory);
                ClientEditingClass = "epi-cms/contentediting/editors/SelectionEditor";
                base.ModifyMetadata(metadata, attributes);
            }
        }

        public class LocalitySelectionFactory : ISelectionFactory
        {
            public IEnumerable<ISelectItem> GetSelections(ExtendedMetadata metadata)
            {
                var localities = new List<SelectItem>();
                localities.Add(new SelectItem() { Value = "1", Text = "Huvudkontor" });
                localities.Add(new SelectItem() { Value = "2", Text = "Kontor" });
                localities.Add(new SelectItem() { Value = "3", Text = "Övrig verksamhet" });
                return localities;
            }
        }



#87364
Jun 11, 2014 15:15
This topic was created over six months ago and has been resolved. If you have a similar question, please create a new topic and refer to this one.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.