你 可以看看我下面的两个例子呵呵,,加入我们的C#-Home小组吧
http://www.cnblogs.com/sufei/archive/2009/05/05/1449882.html
http://www.cnblogs.com/sufei/archive/2009/03/13/1486006.html
下面可以下载原代码的,不行的吗, 咱们再讨论讨论,呵呵
控件不是问题,问题在于你的数据库如何优化设计。
可以看看我的blog
可以啊.你只要把权限信息保存起来,用什么方式都可以,然后用treeciew或者其他的控件都可以。
就是个动态成的过程,如果是treeview就是后台添加节点,递归就ok。其他的就是动态拼接html的过程。其实一样,都是动态生成、
权限树TREE VIEW是最常用的,保存对应权限信息,递归读取。
我现在用的方案非常好
首先要在网站中启用Membership管理用户,并给用户分配角色,比如管理员、超级管理员
然后把页面依据权限分配到不同目录,比如管理员使用的页面就放入admin文件夹内,超级管理员才能使用的页面放入admin/superadmin文件夹内
然后配置web.config,将上述目录分配相应的角色可见权限
接着建立Web.sitemap,创建节点指向各个页面
最后在需要创建导航的页面中加入SiteMapDataSource控件,从Web.sitemap读取数据,然后再添加一个Treeview或Menu,数据源指向SiteMapDataSource,简单设置一下就完成了。(也可以使用BulletedList或其他什么控件,只不过配置稍微复杂一点)
这样做绝对安全、简单,不需要自己实现权限管理逻辑,没有权限的角色即使直接访问url也会被拒绝。也不需要自己创建动态的导航,SiteMapDataSource会根据不同角色的权限自动获取对他们可见的页面。
可能很多人觉得Membership麻烦、复杂、可控性不高,其实只是没有对其进行深入了解而已,充分学习之后,你会觉得它定制度还是足以满足绝大多数需求的,并且我不认为普通人能写出比微软更易用、高效、安全的同种实现,所以很多人实际上都是在重复造轮子。