당신은, 폴더
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();
}
}
컨트롤러에서 다음
의 계층 구조를 보여 초기화하고 TreeViewFolder
의 채우고 인스턴스에 <ul>
및 <li>
요소를 구축하기 위해 재귀를 사용하는 확장 메서드를 만들 수 있습니다 보기에서
@model TreeViewFolder
....
@Html.FolderTree(Model)
요구 사항에 맞게 요소의 스타일을 지정하십시오.
참고 :보기에서 using
문을 추가하거나 web.config
무엇을 표시 할 않는의
<namespaces>
부분에 대한 참조를 추가 하나? 폴더 이름의 계층 구조입니까? –