動態實現樹形選單

2021-09-08 08:35:07 字數 2459 閱讀 9924

樹形選單在開發軟體和**中經常用到,但是會遇到乙個問題,在**中當你點開的時候,由於頁面重新整理了,又合起來來了,這種問題是用iframe不會出現,但是在**中很少會用到框架,最近就碰到了這樣的問題,在網上找了很多js寫的樹形選單,我需要分四級,但是都沒找到合適的,亂七八糟的**都有,很頭疼,沒辦法,自己就想辦法寫了乙個,這個是在知道分幾級的情況下,關於無限極沒研究,可以再基礎上在下點功夫也可以!

原理大概是這樣的:

第一步:需要把一級到四級樣式寫好,位置固定好

是否迴圈出來

看看**吧

樹形選單是個公用的部分,我們一般會放到使用者控制項裡,**如下:

"c#" autoeventwireup=

"true

" codebehind=

"protype.ascx.cs

" inherits=

"cms.web.control.protype

" %>

class=

"zy_con_l

">

class=

"zy_con_ltt

">品牌展示

class=

"zy_ppzslb

">

}

} %>

}

} %>

}

}%>

引用的頁面裡

後台**:

public

partial

class productlist1 : system.web.ui.page

if (!page.ispostback)

if ((request.params[

"classid

"] != 

null) && (request.params[

"classid

"].tostring() != 

""))

}

}

rptbind(

"classid in (

" + getallid(classid) + 

")");

}

}

public

string geturl()

if ((request.params[

"classid2

"] != 

null) && (request.params[

"classid2

"].tostring() != 

""))

if ((request.params[

"classid3

"] != 

null) && (request.params[

"classid3

"].tostring() != 

""))

if ((request.params[

"classid4

"] != 

null) && (request.params[

"classid4

"].tostring() != 

""))

url += 

"&";

return url;

}

//////

獲得下級的所有id

///

system.text.stringbuilder str = 

new system.text.stringbuilder();

int fag = 

0;protected

string getallid(

int classid)

cms.bll.channel bll = 

new bll.channel();

dataset ds = bll.getlist(

"kindid=1 and parentid=

"+classid);

foreach (datarow row 

in ds.tables[

0].rows)

return str.tostring().remove(str.tostring().lastindexof(

","));

}

#region 列表繫結

private

void rptbind(

string strwhere)

//繫結資料

rptlist.datasource = pds;

rptlist.databind();

}

#endregion

protected

void aspnetpager1_pagechanging(

object src, wuqi.webdiyer.pagechangingeventargs e)

}

這樣點開的時候在重新整理頁面也不會隱藏了....

MVC EF實現樹形選單

樹形選單,可以簡單的認為是標籤的巢狀,在html中的格式就是1 html 2 控制器利用,強型別 public actionresult productssorttree var productssortlist operatecontext.current.bllsession.iproducts...

通過lambda實現選單樹形結構

public list listwithtree sorted menu1,menu2 collect collectors.tolist return level1menus 遞迴查詢當前選單的子選單 param root param all return private list getchil...

C 樹形選單的相關實現

在一些涉及到組織架構的場景,比如erp,oa系統中我們經常會需要用到樹的結構。自己開發的時候也遇到了此使用場景,總結一下以後就可以直接拿來用了。表設計如下 如下 public class node 節點id public int parentid 節點父級id 如果為0則為根節點 public st...