Я пытаюсь найти лучший способ визуализации некоторых иерархических данных во вложенный неупорядоченный список с помощью ASP.NET MVC. Есть ли у кого-нибудь советы о том, как это сделать?Иерархические данные в ASP.NET MVC
ответ
Я предлагаю плагины древовидного дерева для создания его, как дерево, но как для рендеринга, просто поместите его в рекурсивный помощник лямбда, чтобы сделать вложенность.
Вы имеете в виду ... вы хотите какой-то древовидный вид?
Фактически вы можете заставить элемент управления treeview работать ... но вам нужно обернуть его в тег формы на стороне сервера. Вы получите обычную гадость, которая приносит (например, генерируемые идентификаторы и viewstate), но она будет работать с точки зрения рендеринга.
Если вы хотите просто создавать теги и вставлять их, это было бы довольно легко сделать с петлями foreach().
Для этого (рендеринг иерархического меню, древовидной структуры и т. Д.) Я использую рекурсивные вызовы пользовательского компонента (ascx или aspx в новом предварительном просмотре5).
Я предоставляю компоненту первый уровень элементов (список элементов), а компонент затем проверяет каждый элемент в списке, если есть какие-либо дочерние элементы, и вызывается со списком этих дочерних элементов.
Вы можете построить иерархический граф объектов в контроллере или только один размерный список с свойством ParentID.
Я считаю, что в настоящее время такого контроля нет ... TreeViews сложны по своей природе. Вы можете, конечно, «нарисовать» иерархию столько, сколько хотите, используя всевозможные повторители и циклы, но для достижения функциональности вида дерева, подобного тому, что находится в панели инструментов веб-форм ... вам нужно подождать!
Почему бы вам не передать свою модель в виде дерева на вид?
/// This is the model class
public class MyTreeNode<T>
{
public ICollection<MyTreeNode> ChildNodes {get;}
public T MyValue { get; set; }
bool HasChildren { get { return ChildNodes.Any(); } }
}
///This is the html helper:
public static string RenderTree<T>(this HtmlHelper html, MyTreeNode<T> root, Func<T, string> renderNode)
{
var sb = new StringBuilder();
sb.Append(renderNode(root.MyValue));
if (root.HasChildren)
{
foreach(var child in root.ChildNodes)
{
sb.Append(RenderTree<T>(html, child, renderNode));
}
}
return sb.ToString();
}
Я действительно не тестировал этот код, но речь идет об этой идее. Вы можете себе представить, как создать собственный рекурсивный html-помощник для рендеринга дерева.
Ну что ж, вам нужно добавить некоторый usercontrol, который делает рендеринг, интегрируя с плагином jquery treeview для максимальных возможностей ... Еще нужно некоторое усовершенствование форматирования узлов ... например, если оно должно отображаться как ссылка ... спасибо – 2010-01-16 17:37:06
- 1. ListView Иерархические данные - ASP.Net
- 2. сортировочные иерархические Данные в Asp.Net
- 3. Как обрабатывать иерархические запросы в ASP.NET MVC
- 4. jQuery/asp.net-mvc: Как отображать иерархические данные с использованием IHierarchicalEnumerable?
- 5. ASP.NET MVC: иерархические роли, настраиваемая авторизация
- 6. Как отображать иерархические данные с помощью ASP.NET?
- 7. Иерархические данные в C++
- 8. Иерархические данные в MySQL
- 9. Иерархические данные в MySql
- 10. Fluent NHibernate иерархические данные
- 11. Иерархические данные массиву/json
- 12. Получить иерархические данные neo4jclient
- 13. Иерархические данные и BerkeleyDB
- 14. Отобразить иерархические данные
- 15. Скребковые иерархические данные
- 16. Django: Хранить иерархические данные
- 17. Treeview Иерархические данные Загрузка
- 18. Как различать иерархические данные?
- 19. Как индексировать иерархические данные?
- 20. iOS Вложенные/иерархические данные
- 21. Иерархические данные и описания
- 22. AngularJS, отображающий иерархические данные
- 23. Иерархические данные с CTE
- 24. Иерархические данные pandas
- 25. SQL Tree/Иерархические данные
- 26. разборки иерархические данные
- 27. Как вернуть иерархические данные?
- 28. Сплющит иерархические данные
- 29. Иерархические данные в MvcContrib сетке
- 30. Как отображать упорядоченные иерархические данные в asp.net 3.5?
jquery for treecontrol звучит как хорошая идея, спасибо за предложение. Не могли бы вы рассказать о том, как использовать рекурсивную лямбду для рендеринга. – 2008-09-12 12:23:34