var arr=[];
var current_obj=.....;
while(current_obj.ParentId!=root_id)
{
arr[arr.length]=current_obj.ClassName;
current_obj=dao.GetParentByParentId(current_obj.ParentId);
}
constructNavigatorInfo(arr);
可以用SQL CTE写好,抓出值,直接赋值给treeview
---- SQL Server 2005 or Higher
with menu (classid,parentid,classname) as (
select 1 , 0 , cast('新闻中心' as varchar) union all
select 2 , 0 , '会员中心' union all
select 3 , 1 , '动态新闻' union all
select 4 , 3 , '公司动态'
),
cte as (
select classid,parentid,classname
from menu
where parentid=0
union all
select m.classid,m.parentid,cast( c.classname+'>>'+m.classname as varchar)
from menu m ,cte c
where c.classid=m.parentid
)
select classid,classname as classpath from cte
-- where classid=@classid
classid classpath
----------- ------------------------------
1 新闻中心
2 会员中心
3 新闻中心>>动态新闻
4 新闻中心>>动态新闻>>公司动态