易截截图软件、单文件、免安装、纯绿色、仅160KB

ASP.NET 无限级分类

下图中红色箭头是父类 而且属于根目录级别。
  下面个字段为: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 下web.config中配置数据库连接

1、Web.config 可以采用写连接条件 或 附加 ×.mdf 文件
<connectionStrings>
  <add name="Sales"
       providerName="System.Data.SqlClient"
       connectionString= "server=myserver;database=Products;uid=<user name&g ......

asp.net中实现拼音首字母查询

在sql里面新建自定义函数,代码如下:
CREATE function fun_getPY(@str nvarchar(4000))
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @word=left(@str,1)
--如果非汉字字符,返回原字符
set @PY=@PY+(case when unicode(@word) betw ......

ASP.NET中的AJAX应用开发总结

        11月21日晚7点应邀在武汉大学信息学院做了一场关于ASP.NET下AJAX开发的报告,以我自己经历讲述了一些特殊应用在过去到现在实现手段的变化,本来想回家之后做个总结的,但是由于最近以来事情一直很多,所以没有来得及总结。今晚得以有空总结一下。
AJAX介绍
其实AJAX应用的核 ......

Cache Management in ASP.NET

Introduction
Before explaining cache management in ASP.NET, let me clarify that different people use different terms for explaining the same concept i.e. managing data. Some people refer to it as state management and some others refer to it as cache management. I love to use the term cache manageme ......

asp.net 长内容文章自动分页

前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="articleview.aspx.cs" Inherits="articleview" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号