asp.net(c#)代码修改

来源:百度知道 编辑:UC知道 时间:2024/05/27 06:26:25
现在有一段代码,实现了调用方法从数据库中读取类别并显示在页面上
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DataSet sortDS = B_bc.GetBigClass();
string content = "";
for (int i = 0; i < sortDS.Tables[0].DefaultView.Count; i++)
{
content = content + "<td align='center' onmouseover=this.bgColor='#FFFFFF'; onmouseout=this.bgColor='#CCCCCC'; bgColor='#cccccc'>";
content = content + "<a href='otype.aspx?sort=" + sortDS.Tables[0].Rows[i][0].ToString() + "'>" + sortDS.Tables[0].Rows[i][1].ToString() + "</a></td>";
}
sort.Text = content;
}
}

效果类似于导航,但是现在只是单一的一行,我现在想实现一个,把鼠标放上去后,弹出子类的显示
调用方法B_bc.GetBigClass();后得到
DataSet sortDS
sortDS.Tables[0].Rows

举个例子:创建一个表
create table Menu
(
aid int identity(1,1) primary key,
aname nvarchar(20),
pid int default 0
)
查询:
select a.aid,b.aid from menu a inner join menu b on a.aid=b.pid where b.aid is not null order by a.aid

自己添加几条记录,直接查就可以了,所谓的无限分级就这么简单(递归算法)

无奈 关掉问题吧 建议你先学点基础在来问吧,这样我们真的没法回答你的问题,你可以看看递归算法,你问的问题就是一个递归算法的典型应用实例 ,递归还可以实现排序,而且是速度最快的排序方式,

这个用ajax很容易实现

在工具栏里头有一个Menu控键,为它指定动态的数据源就可以实现你要的效果,用法还是比较简单,可以到网上收一下

你这属于 无限极树结构 搜一下吧 有例子

直接生成一个JS更好