1.menu表数据
2.在后台生成html内容后,前台利用nav-h.css生成menu导航条,利用Jquery的treeview插件生成menu树前台coding:
后台coding:
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string menuHtml = string.Empty; menuHtml = BuildMenuWithRoot(null, string.Empty, "Tree"); tree.InnerHtml = menuHtml; menuHtml = BuildMenuWithRoot(null, string.Empty, "Menu"); menu.InnerHtml = menuHtml; } } public string BuildMenuWithRoot(int? parentId, string str, string type) { IEnumerable
- " + str+""; return str; } public IEnumerable
生成的menu树html:
menu树的浏览器效果:
生成的menu导航条html:
menu导航的浏览器效果:
3.从上面可以看出,由于其它所有menu都是由root根节点生成,所以显示的树状结构并不符合我们的使用习惯,加以改进
后台coding:public string BuildMenu(int? parentId, string str, string type) { IEnumerable
生成的menu树html
menu树浏览器效果
生成的menu导航条html
menu导航条浏览器效果
4.使用到的treeview插件可从官网下载 nav-h.css内容如下li:hover ul, li.over ul{ display:block;}ul#nav { position: relative; }ul#nav ul { position: absolute; display: none; TOP: 100%; right: 0px;}ul#nav ul ul { TOP: 0px; right: 100%}ul#nav ul ul ul { TOP: 0px; right: 100%}ul#nav LI { position: relative; display: inline; FLOAT: left;}ul#nav ul LI { display: block;width:250px}ul#nav A { display: block; background: #ddd; FLOAT: left; HEIGHT: 1%; COLOR: #666; BORDER-TOP: #fff 1px solid; BORDER-RIGHT: #fff 1px solid; TEXT-DECORATION: none; padding:3px 20px}ul#nav A:hover { background: #bbb; COLOR: #fff}ul#nav LI:hover A { background: #bbb; COLOR: #fff; }ul#nav LI:hover LI A { background: #bbb; FLOAT: none ;padding:3px 6px;}ul#nav LI:hover LI A:hover { background: #999}ul#nav LI:hover LI:hover A { background: #999}ul#nav LI:hover LI:hover LI A { background: #999}ul#nav LI:hover LI:hover LI A:hover { background: #666}ul#nav LI:hover LI:hover LI:hover A { background: #666}ul#nav LI:hover LI:hover LI:hover LI A { background: #666}ul#nav LI:hover LI:hover LI:hover LI A:hover { background: #333}ul#nav LI:hover ul ul { display: none}ul#nav LI:hover ul ul ul { display: none}ul#nav LI:hover ul { display: block}ul#nav ul LI:hover ul { display: block}ul#nav ul ul LI:hover ul { display: block}