在以前我们要是想实现类似Windows XP里的NavBar 的效果,是很费劲的。现在.net环境下有了好几种可以实现这样效果的控件。在这里,我介绍一下ComponentArt. NavBar的用法.

一.Design

      如果我们要实现的Web菜单不是动态的话,我们可以很方便的采用手动创建的方法。样式可以自己通过Css.css来样式化。

    

效果如:
 


 

 

2.是我要重要讲的:动态的如何来创建Web菜单:
   先说一下,我是在前一些的一个项目中,要实现下面的功能才研究的这个控件:现在那来和大家一起分享:效果如图
   

 

所有的菜单都根据登陆者的权限来动态生成的。好了,不多说费话了。开始说如何来实现:

       using System;

using ComponentArt.Web.UI;

using WySysTemWeb.Components;

using JH.WySystem.BLL.Admin;

using JH.WySystem.BOL;

using JH.WySystem.BOL.Admin;

namespace WySysTemWeb

{

    public partial class SysMenu :BasePage

    {

        protected ComponentArt.Web.UI.NavBar serverNavBar;

        protected ComponentArt.Web.UI.NavBar clientNavBar;

        protected void Page_Load(object sender, EventArgs e)

        {

            if (!IsPostBack)

            {

                BuildServerNavBar();

            }

        }

        private void BuildServerNavBar()

        {

            ComponentArt.Web.UI.NavBarItem newTopItem;

            ComponentArt.Web.UI.NavBarItem newItem;

            GenericCollection<SYS_T_Menu> menutree = SYS_T_MenuInfo.GetTopMenu(this.CurrentUser.User_ID);

 

            //Function_Menu menu = new Function_Menu();

            foreach (SYS_T_Menu menu in menutree)

            {

                newTopItem = new ComponentArt.Web.UI.NavBarItem();

               

                newTopItem.Text = menu.Menu_Name.ToString();

                //父菜单左边的图标

               // newTopItem.Look.LeftIconUrl = "right2.gif";

               

                if (menu.Menu_ID == 1)

                {

                    newTopItem.Expanded = true;

                }

                newTopItem.DefaultSubItemLookId = "Level2ItemLook";

                //newTopItem.SubGroupCssClass = "Level2Group";

                newTopItem.SelectedLookId = "TopItemLook";

                serverNavBar.Items.Add(newTopItem);

 

                GenericCollection<SYS_T_Menu> menutreechild = SYS_T_MenuInfo.GetMenuByFatherID(menu.Menu_ID, this.CurrentUser.User_ID);

                foreach (SYS_T_Menu menuchild in menutreechild)

                {

                    newItem = new NavBarItem();

                    newItem.Text = menuchild.Menu_Name.ToString();

                    newItem.Look.LeftIconUrl = menuchild.Menu_PictureUrl.ToString();

                    newItem.NavigateUrl = menuchild.Menu_PageUrl.ToString();

                    newTopItem.Items.Add(newItem);

 

                }

            }

        }

    }

}

 

如有需要的朋友,我可以将我的完整代码E_mial给他,多多指点。

posted on 2007-04-04 08:34 周海军 阅读(589) 评论(46)  编辑 收藏

  回复  引用    
2007-04-11 21:31 | benben [未注册用户]
请你发给我好吗?
zhoujing1224@gmail.com
  回复  引用    
2007-04-14 10:53 | 周海军 [未注册用户]
我已经将我用的控件发到你邮箱了!
  回复  引用    
2007-04-16 18:48 | Stanley [未注册用户]
可以发给我一份吗?liushitang@hotmail.com
  回复  引用    
2007-04-17 08:36 | 周海军 [未注册用户]
Stanley:这位朋友,我只能将控件安装后的Dll发给你,因为那个安装程序34M多吧!
邮箱发布过去,可以的话,加我QQ381361582,从QQ传给你!
  回复  引用    
2007-04-28 09:08 | godspeed [未注册用户]
可否给我发一段从数据库动态创建navbar的代码吗?先谢谢了!
gujun9999@hotmail.com
  回复  引用  查看    
2007-04-28 18:47 | 周海军      
好!!!
已经发给你!
  回复  引用  查看    
2007-04-28 18:48 | 周海军      
好,已经发给你!
  回复  引用    
2007-06-04 15:38 | 茜儿 [未注册用户]
斑竹可你加你qq么,我的是521039011
  回复  引用    
2007-06-05 18:14 | ziyan [未注册用户]
我已经加你了。。。。。
  回复  引用    
2007-06-11 12:55 | Jumby [未注册用户]
能不能发一份给我呀。。。dazhong3@126.com。。先谢过了!
  回复  引用    
2007-06-11 13:11 | ziyan [未注册用户]
dazhong3@126.com
已经发到你邮箱。。
  回复  引用    
2007-06-12 14:48 | luck [未注册用户]
luck20060827@163.com
麻烦 受累给我发一份 谢谢了
  回复  引用    
2007-06-12 17:36 | ziyan [未注册用户]
给你发了控件。。
如还有什么,qq:381361582
  回复  引用    
2007-06-13 18:15 | 大漠 [未注册用户]
有劳一下,发我一份(源+控件)吧.谢了.qukp399@sohu.com

qukp399@yahoo.com.cn

fququ@hotmail.com
  回复  引用    
2007-06-14 08:21 | ziyan [未注册用户]
大漠:
你要的源时指控件的用法的源码吗?
昨晚回家已经帮你写了一个简单的用法的例子。。。发到了你邮箱。。
  回复  引用    
2007-06-26 14:19 | sbitxg521 [未注册用户]
sbitxg521@163.com
我急想用,现在项目中要用
  回复  引用    
2007-06-27 13:26 | ziyan [未注册用户]
发给你的是我写给另外以为朋友的例子。。。
  回复  引用  查看    
2007-06-30 19:36 | 代码乱了      
jrt324@126.com
麻烦你发一份给我,最好吧你的demo也一起
哈哈,急用,多谢了
  回复  引用  查看    
2007-07-01 15:36 | 周海军      
OK 明天发 给 你 。。。。
  回复  引用    
2007-07-10 14:18 | cc [未注册用户]
发一份给我谢谢

ilovetq@163.com
  回复  引用    
2007-07-10 18:23 | ziyan [未注册用户]
cc:已经发给你
  回复  引用    
2007-07-20 09:36 | lirongchun [未注册用户]
发一份给我.谢谢了.
lirongchun1313@163.com
  回复  引用    
2007-07-20 13:08 | ziyan [未注册用户]
lirongchun
已经发给你..........
  回复  引用    
2007-08-05 16:21 | sdfsd [未注册用户]
CSS怎么设置啊,都没有讲到css样式的设置
  回复  引用    
2007-08-05 16:57 | ziyan22 [未注册用户]
有Css的设置啊。。。。
  回复  引用    
2007-08-16 22:23 | zhangjj74@126.com [未注册用户]

可否给我发一段从数据库动态创建navbar的代码吗?
谢谢
  回复  引用  查看    
2007-08-18 13:03 | ziyan      
zhangjj74@126.com 已经发给你..
  回复  引用    
2007-08-18 20:47 | 無拍子 [未注册用户]
奇怪这个控件包是付费的吧
或者你找了破解的
能发我一份吗
cgy985@163.com
呵呵,你这好东西挺多的

  回复  引用    
2007-08-26 15:35 | programbug [未注册用户]
hr_info@126.com,谢谢给我发一份吧
  回复  引用    
2007-08-29 11:38 | 路为 [未注册用户]
不好意思来晚了,能给我一份嘛?
chaijian148@163.com 尽快!谢谢
  回复  引用  查看    
2007-08-29 13:25 | ziyan      
hr_info@126.com
已经发给你
  回复  引用  查看    
2007-08-29 13:25 | ziyan      
chaijian148@163.com
已经发给你,..
  回复  引用    
2007-09-07 15:11 | piaoger [未注册用户]
piaoger@gmail.com
  回复  引用    
2007-09-14 01:06 | foxd [未注册用户]
我刚刚得到ComponentArt,文件名字是:ComponentArt.Charting.WinChart.dll,我不知道该如何安装(要用于asp.net 2.0中),请老师指教,谢谢!
  回复  引用    
2007-09-14 14:03 | likai841010@163.com [未注册用户]
谢谢,我要一份NarBar的实例
  回复  引用    
2008-01-31 11:44 | [未注册用户] [未注册用户]
能给我发一份吗?急用,谢谢!
756748841@qq.com
  回复  引用  查看    
2008-03-14 08:09 | 花拉子米      
谢谢,我要一份NarBar的实例

  回复  引用    
2008-03-21 16:52 | chich [未注册用户]
也請寄給我一份代碼 謝謝!

  回复  引用    
2008-03-21 17:10 | chich [未注册用户]
遍尋不到dll下載點 能請版主也寄給我嗎? 謝謝
  回复  引用    
2008-03-25 16:18 | 侯冉冉 [未注册用户]
能给我吗? houran198811@163.com 急用,谢谢
  回复  引用    
2008-03-30 11:29 | 阳欢 [未注册用户]
能给我吗? aqwbjg@163.com急用,谢谢

  回复  引用    
2008-05-22 20:27 | sunjie9606 [未注册用户]
也請寄給我一份代碼 謝謝! sunjie9606@163.com
  回复  引用    
2008-06-13 15:10 | zhaohaizhu [未注册用户]
能发给我一份吗 zhaohaizhu2006@163.com
  回复  引用    
2008-08-05 18:02 | 雪孩子 [未注册用户]
xue_hai_zi@yahoo.com.cn

谢谢老师,正要做类似的程序,十分需要.再次谢谢.
  回复  引用    
2008-08-06 18:12 | Xue_huashan [未注册用户]
能否也发一份,时间仓促,不及看官网的DEMO了
Email:xue_huashan@163.com
多谢!
  回复  引用  查看    
2008-08-11 15:35 | Peter Joke      
谢谢楼主分享

请发一份 过来研究研究

zhhx13720@163.com

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-08-04 22:48 编辑过


相关链接: