Can you explain a little more about what you are trying to accomplish? What type of objects are you trying to edit?
You may want to look into using block types to define a set of properties (http://world.episerver.com/Documentation/Items/Developers-Guide/EPiServer-CMS/75/Content/Block-types-and-templates/), though I don't know if that solves what you are trying to accomplish.
I think he is looking for multiple property control which is similar to EPiServer MultipleProperty
I would like to edit collection of simple objects, for example:
public class Item
{
public int Id { get; set; }
public string Name { get; set; }
public bool Enabled { get; set; }
}
Or more complex:
public class Item
{
public int Id { get; set; }
public string Name { get; set; }
public bool Enabled { get; set; }
public LinkItemCollection Links { get; set; }
public ContentArea Items { get; set; }
public Url Image { get; set; }
[Required]
public string Description { get; set; }
}
Solution with blocks is working, but is not useful, because it takes more time to create each additional item and blocks, located in folders, and their amount grows up.
I found in episerver sources CollectionEditorDescriptor and CollectionEditor.js. When I try to mark page property with [EditorDescriptor(EditorDescriptorType = typeof(CollectionEditorDescriptor<Item>))] it renders good CollectionEditor control, but without column captions and it doesn't save data. It would be great to use this out of the box solution.
I believe a contentarea with blocks is still a way to go.
It bothered me as well the process of creating a block and drag&dropping it to the content area. However, with the new shortcut button that came with 7.5, inside the content area, named "You can drop content here, or create a new block", it gets really neat.
When you click on "create a new block", you get all the properties listed + the block gets saved to current page blocks, under "For this page".
As for the amount of them, it should be that these current-page blocks get deleted when the page gets deleted. As for the blocks shared among the pages, you could create a cleanup scheduled job that deletes them if no pages reference it.
If you're not finding any solutions that work for you, you might just want to look into creating your own custom EPiServer property with Dojo.
Check out this blog post: http://robertlinde.se/post/custom-episerver-properties-with-dojo
You should be able to get a good idea about what's involved in making a property that works for your situation.
Hello everyone!
Maybe anybody knows how I can edit collection of complex objects in episerver edit UI?