MVC 多级目录菜单
MVC多级目录菜单 ----- 简单模拟
Model ---- cs
{ public class Class1 { public int ID{get;set;} public int parentID { get; set; } public int childID { get; set; } public string title { get; set; } }
MVC View ---- cshtml:
@using WebApplication1.Models; @{ ViewBag.Title = "About"; } <h2>@ViewBag.Title.</h2> <h3>@ViewBag.Message</h3> <p>Use this area to provide additional information.</p> @{ var totalList = new List<Class1>();//全部目录列表 totalList.Add(new Class1{ ID = 1,parentID = 0, title = "title_1"}); totalList.Add(new Class1{ ID = 5,parentID = 0, title = "title_5"}); totalList.Add(new Class1{ ID = 12,parentID = 0, title = "title_12"}); totalList.Add(new Class1{ ID = 2,parentID = 1, title = "title_2"}); totalList.Add(new Class1{ ID = 3,parentID = 1, title = "title_3"}); totalList.Add(new Class1{ ID = 4,parentID = 1, title = "title_4"}); totalList.Add(new Class1{ ID = 6,parentID = 5, title = "title_6"}); totalList.Add(new Class1{ ID = 7,parentID = 5, title = "title_7"}); totalList.Add(new Class1{ ID = 8,parentID = 5, title = "title_8"}); totalList.Add(new Class1{ ID = 9,parentID = 2, title = "title_9"}); totalList.Add(new Class1{ ID = 10,parentID = 2, title = "title_10"}); totalList.Add(new Class1{ ID = 11,parentID = 2, title = "title_11"}); totalList.Add(new Class1{ ID = 13,parentID = 12, title = "title_13"}); totalList.Add(new Class1{ ID = 14,parentID = 12, title = "title_14"}); totalList.Add(new Class1{ ID = 15,parentID = 12, title = "title_15"}); totalList.Add(new Class1{ ID = 16,parentID = 4, title = "title_16"}); totalList.Add(new Class1{ ID = 17,parentID = 4, title = "title_17"}); totalList.Add(new Class1{ ID = 18,parentID = 4, title = "title_18"}); foreach (var item in totalList){ <ul> @if (item.parentID == 0) {//如果为一级目录 <li>@item.title</li> if (totalList.Find(x => x.parentID == item.ID ) != null) { @Show(item); } } </ul> } } @helper Show(Class1 item){ var totalList = new List<Class1>();//全部目录列表 totalList.Add(new Class1 { ID = 1, parentID = 0, title = "title_1" }); totalList.Add(new Class1 { ID = 5, parentID = 0, title = "title_5" }); totalList.Add(new Class1 { ID = 12, parentID = 0, title = "title_12" }); totalList.Add(new Class1 { ID = 2, parentID = 1, title = "title_2" }); totalList.Add(new Class1 { ID = 3, parentID = 1, title = "title_3" }); totalList.Add(new Class1 { ID = 4, parentID = 1, title = "title_4" }); totalList.Add(new Class1 { ID = 6, parentID = 5, title = "title_6" }); totalList.Add(new Class1 { ID = 7, parentID = 5, title = "title_7" }); totalList.Add(new Class1 { ID = 8, parentID = 5, title = "title_8" }); totalList.Add(new Class1 { ID = 9, parentID = 2, title = "title_9" }); totalList.Add(new Class1 { ID = 10, parentID = 2, title = "title_10" }); totalList.Add(new Class1 { ID = 11, parentID = 2, title = "title_11" }); totalList.Add(new Class1 { ID = 13, parentID = 12, title = "title_13" }); totalList.Add(new Class1 { ID = 14, parentID = 12, title = "title_14" }); totalList.Add(new Class1 { ID = 15, parentID = 12, title = "title_15" }); totalList.Add(new Class1 { ID = 16, parentID = 4, title = "title_16" }); totalList.Add(new Class1 { ID = 17, parentID = 4, title = "title_17" }); totalList.Add(new Class1 { ID = 18, parentID = 4, title = "title_18" }); <ul> @for (int i = 0; i < totalList.Count; i++){ if (item.ID == totalList[i].parentID){ <li>@totalList[i].title</li> if (totalList.Find(x => x.parentID == totalList[i].ID) != null){ @Show(totalList[i]); } } } </ul> }
本文原创,不定时更新
可以随意转载到任何网站
~但是~ 转载也要按“基本法”
请注明原文出处和作者
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理