下拉列表--------

数据库设计:

-- 无限分类 --

-- 数据库:DB_InfiniteCategory

-- 数据表:Tb_Infinite

---------------------------------------------------------------

-- 创建数据库
CREATE DATABASE DB_InfiniteCategory -- 创建数据表
USE DB_InfiniteCategory
CREATE TABLE Tb_Infinite
(
id int not null, --逻辑主键
pid int not null, --父级
categoryName varchar(10) not null --分类名称
) --使用语句
select id, pid, categoryName from Tb_Infinite where pid = 0

代码:

 using System;
using System.Web.UI;
using System.Data;
using System.Data.SqlClient; using DAL;
using System.Web.UI.WebControls; namespace InfiniteCategory
{
public partial class Default : System.Web.UI.Page
{
string toadd = "├"; protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
GetArticleCategory("");
}
} public void GetArticleCategory(string pid)
{
SqlConnection conn = new SqlConnection(" server = HUANGFU-PC; database = DB_InfiniteCategory; integrated security = true");
string sql = "select id,categoryName from Tb_Infinite where pid=@pid";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlParameter Pid = new SqlParameter("@pid", SqlDbType.Int);
Pid.Value = pid;
cmd.Parameters.Add(Pid);
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
this.DropDownList1.Items.Add(new ListItem(toadd + " " + sdr[].ToString(), sdr[].ToString()));
toadd += "─┴";
this.GetArticleCategory(sdr[].ToString());
toadd = toadd.Substring(, toadd.Length - );
}
sdr.Close();
conn.Close();
}
}
}

最终效果:

===============================================================

导航--------

代码:

 using System;
using System.Web.UI;
using System.Data;
using System.Data.SqlClient;
using System.Text; using DAL;
using System.Web.UI.WebControls; namespace InfiniteCategory
{
public partial class Default : System.Web.UI.Page
{
StringBuilder s = new StringBuilder(); protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
GetArticleCategory("");
}
} public void GetArticleCategory(string id)
{
SqlConnection conn = new SqlConnection(" server = HUANGFU-PC; database = DB_InfiniteCategory; integrated security = true");
string sql = "select id,pid,categoryName from Tb_Infinite where id=@id";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlParameter Pid = new SqlParameter("@id", SqlDbType.Int);
Pid.Value = id;
cmd.Parameters.Add(Pid);
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
s.Append(sdr[].ToString()+">");
this.GetArticleCategory(sdr[].ToString());
}
this.Label1.Text = s.ToString();
sdr.Close();
conn.Close();
}
}
}

最终效果:

ASP.NET - 无限极分类的更多相关文章

  1. C#无限极分类树-创建-排序-读取 用Asp.Net Core+EF实现之方法二:加入缓存机制

    在上一篇文章中我用递归方法实现了管理菜单,在上一节我也提到要考虑用缓存,也算是学习一下.Net Core的缓存机制. 关于.Net Core的缓存,官方有三种实现: 1.In Memory Cachi ...

  2. C#无限极分类树-创建-排序-读取 用Asp.Net Core+EF实现

    今天做一个管理后台菜单,想着要用无限极分类,记得园子里还是什么地方见过这种写法,可今天找了半天也没找到,没办法静下心来自己写了: 首先创建节点类(我给它取名:AdminUserTree): /// & ...

  3. asp.net sql无限极分类实例程序

    数据库结构  代码如下 复制代码 create table category(    id                  int,                    clsno         ...

  4. php无限极分类以及递归(thinkphp)

    php无限极分类: 无限极分类重点在于表的设计: 1在model中: class CatModel extends Model{ protected $cat = array(); public fu ...

  5. js实现无限极分类

    转载注明出处!!! 转载注明出处!!! 转载注明出处!!! 因为要实现部门通讯录,后台传来的数据是直接从数据库里拿的部门表,所以没有层级分类,只有parentId表示从属关系,所以分类的事情就交给我来 ...

  6. PHP无限极分类

      当你学习php无限极分类的时候,大家都觉得一个字“难”我也觉得很难,所以,现在都还在看,因为工作要用到,所以,就必须得研究研究. 到网上一搜php无限极分类,很多,但好多都是一个,并且,写的很乱, ...

  7. PHP无限极分类,多种方法|很简单,这里说的很详细,其它地方说的很不好懂

    当你学习php无限极分类的时候,大家都觉得一个字"难"我也觉得很难,所以,现在都还在看,因为工作要用到,所以,就必须得研究研究.   到网上一搜php无限极分类,很多,但好多都是一 ...

  8. 谈一次php无限极分类的案例

    作者:白狼 出处:http://www.manks.top/php_tree_deep.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追 ...

  9. PHP无限极分类生成树方法,无限分级

    你还在用浪费时间又浪费内存的递归遍历无限极分类吗,看了该篇文章,我觉得你应该换换了.这是我在OSChina上看到的一段非常精简的PHP无限极分类生成树方法,巧在引用,整理分享了. function g ...

随机推荐

  1. Java学习之二分查找算法

    好久没写算法了.只记得递归方法..结果测试下爆栈了. 思路就是取范围的中间点,判断是不是要找的值,是就输出,不是就与范围的两个临界值比较大小,不断更新临界值直到找到为止,给定的集合一定是有序的. 自己 ...

  2. 权限管理之基于ACL的实现:自定义JSTL函数实现即时认证

    实现即时认证(即只有拥有相应的权限,才能做相应的操作) 经常用在,在JSP页面上,调用JSTL自定义函数做判断,显示相应的菜单或者功能按钮,比如只有管理员登陆时才显示“删除”按钮,从而完成权限的即时认 ...

  3. Wiki: HSL和HSV色彩空间

    HSL 和 HSV(也叫做 HSB)是对RGB 色彩空间中点的两种有关系的表示,它们尝试描述比 RGB 更准确的感知颜色联系,并仍保持在计算上简单.HSL 表示 hue(色相).saturation( ...

  4. Linux 多线程通信

    摘自资料(linux 与Windows不同) 线程间无需特别的手段进行通信,由于线程间能够共享数据结构,也就是一个全局变量能够被两个线程同一时候使用.只是要注意的是线程间须要做好同步,一般用mutex ...

  5. Android中activity保存数据和状态在哪个方法实现

    以前只知道在Activity销毁之前,要把数据保存在 onSaveInstanceState(Bundle)方法中,后来学习了别人的微博,学到了很多细节问题,所以整理了一下,希望能帮到大家. 如果看官 ...

  6. C#_会员管理系统:开发六(数据搜索)

    增加界面中的搜索功能 会员资料管理界面(VIPManager.cs): 详细代码如下: using System; using System.Collections.Generic; using Sy ...

  7. c++,多继承造成的二义性及解决办法

    #include <iostream> using namespace std; //------------------------------- class A1{ public: i ...

  8. IDEA 中使用Maven Compile 找不到本地 Jar

    本文地址:http://www.cnblogs.com/duwei/p/4656410.html 在IDEA 的子 Maven Module 中使用 compile 进行编译, 一开始提示从私有远程仓 ...

  9. svn密码问题

    官方书籍version control with svn提到了这个问题: Disabling Password Caching When you perform a Subversion operat ...

  10. ListView优化问题

    可以参考:http://blog.csdn.net/bill_ming/article/details/8817172和http://blog.csdn.net/xiangjai/article/de ...