asp.net – 用于在自联接表中显示嵌套s中的无限类别树的逻辑
发布时间:2020-12-16 03:33:05 所属栏目:asp.Net 来源:网络整理
导读:请帮我解决我的大问题. 在我的在线购物项目中,我创建了一个动态类别列表(具有无限级别深度),在具有自联接的DB中的单个表中实现. 架构如下: alt text http://aspalliance.com/ArticleFiles/822/image002.gif 更新 我想使用JQuery插件制作多级菜单栏.此插件使
请帮我解决我的大问题.
在我的在线购物项目中,我创建了一个动态类别列表(具有无限级别深度),在具有自联接的DB中的单个表中实现. 架构如下: alt text http://aspalliance.com/ArticleFiles/822/image002.gif 更新 <ul> <li>Clothing 1 <ul> <li>Trousers 2 <ul> <li>Mens trousers 3</li> <li>Ladies trousers 3</li> </ul> </li> <li>Jackets 2</li> <li>Shirts 2</li> <li>Shoes <ul> <li>Mens shoes 3 <ul> <li>Mens formal shoes 4</li> <li>Mens casual shoes 4</li> </ul> </li> <li>Kids shoes 3</li> <li>Ladies shoes 3</li> </ul> </li> </ul> </li> <li>Cars 1 <ul> <li>Small cars 2</i> </ul> </li> </ul> 我可以使用嵌套数据控件(如转发器控件),但是你知道,通过这个解决方案,我可以实现一个具有非无限分层树结构的列表. 解决方法
使用此递归方法
private string GenerateUL(IQueryable<Menu> menus) { var sb = new StringBuilder(); sb.AppendLine("<ul>"); foreach (var menu in menus) { if (menu.Menus.Any()) { sb.AppendLine("<li>" + menu.Text); sb.Append(GenerateUL(menu.Menus.AsQueryable())); sb.AppendLine("</li>"); } else sb.AppendLine("<li>" + menu.Text + "</li>"); } sb.AppendLine("</ul>"); return sb.ToString(); } 像这样 DataClasses1DataContext context = new DataClasses1DataContext(); var s = GenerateUL(context.Menus.Where(m => m.ParentID == null)); Response.Write(s); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何在Repeater中为LinkBut??ton做AsyncPostBac
- asp.net – 在Azure WebApp / Website中使用Windows身份验证
- asp.net – WebFormsMVP的缺点?
- .net – ReportViewer 2010无法评估表达式
- asp.net-mvc – 如何将Mask放入文本框?
- asp.net-mvc-3 – 当用户需要再次登录时,Ajax.ActionLink返
- asp.net – 从Web应用程序编辑MS Office文档:自定义WebDaV
- asp.net-mvc – 如何从视图中检索传递给我的自定义EditorFo
- asp.net fileupload控件上传文件与多文件上传
- ASP.NET和C#重定向
推荐文章
站长推荐
- ASP.NET MVC Razor:三元
- asp.net-mvc – ASP.NET MVC 3 Razor Intellisen
- asp.net-mvc – 如何创建特定于区域,控制器和操作
- asp.net-web-api – webapi中的attributerouting
- asp.net – 使用类库从web.config / app.config获
- asp.net – 谁能告诉我在Mvc视图中@using和@Mode
- asp.net – 如何在dotnetnuke网站上为global.asc
- asp.net-mvc-4 – URL以’/’结尾时的服务器错误
- asp.net-mvc – 如何使用ASP.NET MVC 2在NHibern
- .net – REST API:与身体的GET请求
热点阅读