Calling all developers! We invite you to provide your input on Feature Experimentation by completing this brief survey.
Calling all developers! We invite you to provide your input on Feature Experimentation by completing this brief survey.
Actually, the same problem has occurred to me; FileSystemDataSource is used in the legacy code (for a TreeView), but does not exist for the new Media-based file system.
Here's some code to work on as a base (it lacks icons and sorting):
public class Root : IHierarchicalEnumerable { public ContentReference RootLink { get; set; } public Root(ContentReference rootLink) { RootLink = rootLink; } public IEnumerator GetEnumerator() { return new List<IContent> { DataFactory.Instance.Get<IContent>(RootLink) }.GetEnumerator(); } public IHierarchyData GetHierarchyData(object obj) { return new Node((IContent)obj, null); } } public class Children : IHierarchicalEnumerable { public Node ParentNode { get; set; } public Children(Node parentNode) { ParentNode = parentNode; } public IEnumerator GetEnumerator() { return ParentNode.Content.ContentLink.GetChildren<IContent>().GetEnumerator(); } public IHierarchyData GetHierarchyData(object obj) { return new Node((IContent)obj, ParentNode); } } public class Node : IHierarchyData { public IContent Content { get; set; } public Node Parent { get; set; } public Node(IContent content, Node parent) { Content = content; Parent = parent; } public bool HasChildren { get { return DataFactory.Instance.GetChildren<IContent>(Content.ContentLink).Any(); } } public object Item { get { return Content; } } public string Path { get { var node = this; var str = string.Empty; do { if(str != string.Empty) { str += "/"; } str += node.Content.Name; } while ((node = node.Parent) != null); return str; } } public string Type { get { return Content.GetType().Name; } } public IHierarchicalEnumerable GetChildren() { return new Children(this); } public IHierarchyData GetParent() { return Parent; } }
How to use it:
FileTree.DataSource = new Root(content.ContentLink); FileTree.DataBind();
Hello!
I ett uppgraderingsprojekt till EPiServer 7.5 används FileSystemDataSource-kontrollen för att lista filer i en asp:TreeView. Detta fungerar inte för nya mediaystemet eftersom FSDS-kontrollen är byggd för UFS. Finns det en ny kontroll för detta eller är det roll-your-own-dags?
Någon som stött på samma problem?
Gracias.