tag parameter net for asp asp.net-mvc treeview

asp.net-mvc - parameter - tag helpers asp net core



Cómo renderizar una sola lista vinculada en la página MVC View (1)

Puede crear un método de extensión que use recursividad para construir elementos <ul> y <li> para mostrar la jerarquía de carpetas

public static class FolderTreeExtensions { public static MvcHtmlString FolderTree(this HtmlHelper helper, TreeViewFolder folder) { return MvcHtmlString.Create(TreeLeaf(folder)); } // Recursive function private static string TreeLeaf(TreeViewFolder folder) { StringBuilder html = new StringBuilder(); TagBuilder div = new TagBuilder("div"); div.InnerHtml = folder.FolderName; html.Append(div.ToString()); if (folder.MyTreeList != null) { foreach (TreeViewFolder subFolder in folder.MyTreeList) { html.Append(TreeLeaf(subFolder)); } } TagBuilder item = new TagBuilder("li"); item.InnerHtml = html.ToString(); TagBuilder container = new TagBuilder("ul"); container.InnerHtml = item.ToString(); return container.ToString(); } }

Luego, en su controlador, inicialice y complete la instancia de TreeViewFolder , y en la vista

@model TreeViewFolder .... @Html.FolderTree(Model)

Luego, diseñe los elementos para que se adapten a sus necesidades

Nota: agregue una instrucción using en la vista o agregue una referencia a la sección <namespaces> de web.config

Como estoy tratando de crear una estructura de carpetas TreeView en MVC. Tengo un archivo de clase como el siguiente.

Archivo de clase

public class TreeViewFolder { public string FolderPath { get; set; } public string FolderName { get; set; } public List<TreeViewFolder> MyTreeList { get; set; } }

Necesito presentar esa lista anterior en MVC View. No tengo idea de cómo renderizar datos de una sola lista vinculada en MVC View. Cualquier ayuda será apreciada.

Gracias