下图中红色箭头是父类 而且属于根目录级别。
下面个字段为:ID 父ID 类型名称 深度 排序
前面3个字段没有什么可解释的,做过无限级分类设计的人都应该清楚
而第5个字段排序字段ID:43的23排序代表他在这张表排在23的根目录
而23下面的23,01 说明他是2级分类,排在23下面的第01个,也是支持99级分类。
而我比较特殊的是多了个深度字段,大家可以看上图数据,
ID:40的 深度字段也是40,ID:43的 深度字段也是43。
而他们的下级子类,后面都跟了个 "," 加自己的ID。
2级子类的深度字段就是(父类ID,自己ID),以此类推,3级分类深度就是(总父类ID,上级父类ID,自己ID),后面不用说了吧。
看到这里可以在看看上面的图,因为我这个网站程序,只有2级分类而已。
当然还有中间那个 "," 完全可以自己用自己喜欢的字符 你用 "|" "-" "_"一切字符都可以 但是建议一定要有个字符。
是因为在程序里好分割开来,而且也很直观,完全可以自己在数据库修改分类数据(因为网站分类一般定了很少改动,第一次完全可以在数据库中加上所有分类)
谈到这里,在来说说这个字段有什么功能和好处,咋一看这个字段好象很浪费资源,下面听我细细道来:
在行业门户网站里经常有这样的需求,需要查出某个分类下的所有子分类,如果没有这个字段的话,
那查出下面的所有字分类,SQL语句就应该要很长了,或者使用递归:根据1级父类ID查出所有2级分类--根据2级分类ID--查出所有3级分类,如果有多级分类的话,这样的递归效率可想而知。
如果有这个字段(并且数据已对应加好),一切就变得美好多了
,让你很轻松就能查出某个分类下所有的子类,下面看个图:
有没有看明白,只需要带上条件,深度 like ‘40%’ 注意后面的%一定要带 这样才能查出包括自己在内所有的子类,如果不需要带上自己,我只要自己下面的所有子类,很简单,深度 like ‘40,' 只需要把%号换成你自己设定的分割符就行了(只就是我强调一定要分割符的作用)。
这样是不是很轻松,而且如果后面带上 order by Nt_OrderBy 是不是自动就根据你数据库的排序数据 排好了序呢
最后总结一下,虽然这个字段好用,但是在添加更新分类数据的同时,也往往加大了添加更新的逻辑程序,但是为了性能,为了SQL语句的方便,这一切是值得的。
分享到:
相关推荐
在ASP.NET中,`TreeView`控件是一种强大的工具,用于展示层次结构的数据,例如网站的导航菜单、组织架构或数据库的无限级分类。这个控件能够以树状结构显示数据,用户可以展开和折叠节点,方便地浏览多级关系。在本...
在ASP.NET开发中,无限级分类是一个常见的需求,特别是在构建如产品目录、文章分类或组织结构等场景。本文将深入探讨如何在不依赖标准的数据实体层的三层架构下实现这一功能。 首先,我们需要理解什么是非标准的三...
《ASP.NET 漂亮无限级分类源代码详解——基于三层架构实现》 在ASP.NET开发中,构建无限级分类是一项常见的需求,特别是在内容管理系统、电商网站或信息目录类应用中。本文将深入探讨如何利用ASP.NET技术实现一个...
总结来说,"ASP_NET无限级分类之美好字段"涵盖了数据库设计、后端编程、前端展示等多个方面,是ASP.NET开发中的一个重要知识点。理解和掌握这些概念和技巧,对于构建灵活且高效的分类系统至关重要。
综上所述,实现ASP.NET无限级联动需要结合后端的ASP.NET处理和前端的jQuery操作。通过AJAX,我们可以实现动态数据加载,减少页面刷新,从而提供流畅的用户交互。在实际开发中,还需要根据具体需求进行调整和优化,...
综上所述,构建.NET 2.0的无限级目录树涉及到数据模型设计、数据获取、递归加载、ASP.NET控件集成以及用户交互等多个方面。通过上述技术,开发者可以根据具体需求定制出各种功能各异的无限级目录树应用。在实际项目...
这可以通过AJAX请求实现,例如使用ASP.NET的UpdatePanel或者jQuery的ajax方法。 6. 事件处理:当用户选择一个分类时,我们需要捕获这个事件并处理相应的逻辑。这可以通过设置DropDownList的`SelectedIndexChanged`...
通常情况下,一个支持无限级分类的数据库至少需要包含三个字段:主键(ID)、分类名称(Name)、父级目录ID(ParentID)。主键用于唯一标识每个分类,分类名称用于显示分类的具体名称,而父级目录ID则用于构建分类...
此源码压缩包“ASP.NET源码——简单无限级分类(表格、下拉列表)源码.zip”显然是一个示例项目,旨在教授如何在ASP.NET环境中实现无限级分类功能,同时在页面上以表格和下拉列表的形式展示这些分类。 无限级分类通常...
在这个压缩包中,我们拥有的是使用ASP.NET实现的一个漂亮的无限级分类源代码,它采用了三层架构设计,这在实际的Web开发中非常常见,有助于提高代码的可维护性和可扩展性。 三层架构是一种常见的软件设计模式,它将...
《ASP.NET实现无限级分类源代码详解》 在IT领域,数据分类是常见的需求,尤其在网站内容管理和电子商务系统中,商品或文章的层级分类显得尤为重要。本篇将深入探讨如何利用ASP.NET技术实现漂亮的无限级分类源代码,...
《望雨的无限级目录树:ASP.NET+C#实现无限级分类详解》 在软件开发中,无限级分类是一个常见的需求,特别是在构建大型网站或管理系统时。无限级分类允许我们创建一个灵活且可扩展的层级结构,使得数据组织更加有序...
下面我们将深入探讨 ASP 和 ASP.NET 实现无限分类的四种方法,并简要介绍相关的数据库结构。 ### ASP 实现无限分类的两种方法: 1. **递归查询**: 在ASP中,通常使用VBScript或JScript语言。无限分类可以通过...
在IT行业中,无限级分类是一种常见...总之,这个Asp.net项目展示了如何利用三层架构和SQLHelper来实现无限级分类功能,为开发者提供了一个可参考的模板。通过对每个层次的理解和优化,可以构建出稳定、高效的分类系统。
在ASP.NET中实现无限极分类是一项常见的需求,特别是在处理具有层级结构的数据时,如菜单系统、组织架构或者产品分类等。无限极分类允许我们创建一个可以无限扩展的树形结构,每个分类都可以有任意数量的子分类。 ...
在这个“ASP.NET源码——TreeView实现无限级分类.zip”压缩包中,我们关注的重点是使用TreeView控件来实现一个无限级分类的示例。TreeView控件在ASP.NET中是一个强大的组件,它能够以树形结构展示层次化的数据,广泛...
jquery的一个插件zTree...此demo是用vs08+sql2005写的 可任意修改 像样更多的功能和外观 就去zTree官网下一个 我写的这个是动态的 就是说是连接数据库的 class表 必须的字段 ID 父ID 还有类别名称。 不懂的可以随时问我
这个"ASP.NET-[其他类别]TreeView实现无限级分类.zip"压缩包可能包含一系列资源,如代码示例、教程文档或数据库脚本,帮助开发者学习如何在实际项目中构建一个可以无限扩展的分类视图。 TreeView控件是ASP.NET提供...
在ASP(Active Server Pages)开发中,无限级分类是一种常见的数据组织方式,尤其适用于网站的导航菜单、文章分类等场景。无限级分类意味着一个类别可以有任意数量的子类别,而这些子类别又可以继续拥有自己的子类,...