小女子给出全部分告急.一个权限分配问题
我想实现这种功能
口 大菜单名(从数据库提取)
口 小菜单名(从数据库提取) 口 小菜单名 口 小菜单名 口 小菜单名
口 大菜单名(从数据库提取)
口 小菜单名(从数据库提取) 口 小菜单名 口 小菜单名 口 小菜单名
口 大菜单名(从数据库提取)
口 小菜单名(从数据库提取) 口 小菜单名 口 小菜单名 口 小菜单名
口 大菜单名(从数据库提取)
口 小菜单名(从数据库提取) 口 小菜单名 口 小菜单名 口 小菜单名
提 交
选中前面的复选框后,点击提交按钮后把值送到数据库(用户权限分配表)
有三个数据库(大菜单,小菜单,用户权限分配表)
哪位好心人有例子或源码,给我一个,也可以在线讨论我的QQ:88252631
谢谢.
问题点数:90、回复次数:28Top
1 楼WeekZero(∮小气的鬼∮)回复于 2006-03-04 11:46:33 得分 2
使用微软的treeview生成树,使用其中带checkbox的方式很容易就实现了Top
2 楼zhongkeruanjian(编程亮子)回复于 2006-03-04 12:03:14 得分 4
大菜单,小菜单?
这个就好像不太好,应该都在一个菜单表里,只不过菜单的类型和层次不一样而已
Top
3 楼wfz131(wfz131)回复于 2006-03-04 12:06:14 得分 0
说说怎么解决好吗
Top
4 楼fine06(^_^)回复于 2006-03-04 12:09:15 得分 2
treeview在asp.net中好像不能用,
用个repeater吧,不会很难的.Top
5 楼lizi02(冬虫夏草)回复于 2006-03-04 12:11:27 得分 2
用treeview就可以搞定了啊
下个微软得控件 2003得Top
6 楼wfz131(wfz131)回复于 2006-03-04 12:12:18 得分 0
fine06能说一下怎么实现吗Top
7 楼wfz131(wfz131)回复于 2006-03-04 12:21:30 得分 0
关键说一下如何取值送到数据库
Top
8 楼winner2050(找工作中,各位XD收到风,M一下。)回复于 2006-03-04 13:03:16 得分 3
取值送到数据库就简单罗。
用for each一下checkbox
Top
9 楼MonkWang(象写情书一样写程序)回复于 2006-03-04 13:16:27 得分 2
学习
帮顶Top
10 楼GSXiaoXiao(牧羊人)回复于 2006-03-04 13:35:19 得分 2
功能是什么?你想实现什么?
应该不难的
根据提交的大菜单名和用户来显示可用的小菜单名?Top
11 楼rola(林)回复于 2006-03-04 14:01:39 得分 2
到微软的网站上下载 IE web control,其中好像有个TreeView插件(记不太清楚了,好像是),用这个插件就可以搞定,用法与.net中的treeview几乎相同,以前用过,感觉不错Top
12 楼flyinging(一路走来)回复于 2006-03-04 14:10:30 得分 2
不会,帮顶Top
13 楼coldpanth(^War3^)回复于 2006-03-04 14:59:45 得分 3
DataList可以实现Top
14 楼jhpxf(我是一是小小鸟,想要飞却飞不高。)回复于 2006-03-04 15:52:36 得分 2
顶下,好象是目录树的概念了。有点难度了Top
15 楼tidydavid(tidy)回复于 2006-03-04 19:55:55 得分 10
WeekZero(星期零) 说的方法很好的,以前做得项目中用过的,值得推荐。
建议你把大菜单,小菜单两张表合成一张表,基本结构例如
菜单代码 菜单名称
01 大功能1
01001 大功能1中的小功能1
01002 大功能1中的小功能2
这样做是为了方便在用户--权限对招表中保存的数据比较清晰
用户名 菜单代码
test 01
test 01001
菜单代码都是一张表中的数据,否则菜单代码是两张表的数据将会给程序带来不小的麻烦的。
Top
16 楼hyena041(陷入自己的思维中,找不到自己了)回复于 2006-03-04 20:13:30 得分 10
大菜单和小菜单都放在同一个表中
增加parentID来对应每个小菜单的父菜单
父菜单的parentID可以设置为0,作为标识
用户和具体的权限有一张表来维护
用户只需要对应小菜单就可以了
Top
17 楼tidydavid(tidy)回复于 2006-03-04 20:24:34 得分 10
搂主,既然项目规定不能把大小菜单合成一个,那就建立一个大小菜单联合视图,解决查询的不便。
从客户端取得权限后将菜单名称和菜单属性(大或者小)一起放入 用户-权限表中。
这样做可以实现 用户名-权限 实际转变成 用户名--视图记录 的简单对应关系
Top
18 楼xyunsh(学海无涯,回头是岸)回复于 2006-03-04 21:39:26 得分 2
用PlaceHolder,根据数据库中的内容动态生成Checkbox添加到PlaceHolder中Top
19 楼xyunsh(学海无涯,回头是岸)回复于 2006-03-04 21:46:45 得分 20
参考一下:
private void AddCheckControl( DataRowView drv, Int32 rid, Int32 depth )
{
//图标
HtmlImage icon = new HtmlImage();
icon.Border = 0;
icon.Src = "../../../Images/Resource/" + ((ResourceCode)rid).ToString() + ".gif";
//换行和空格
Literal header = new Literal();
header.Text = "<br>";
for( Int32 i = 0; i < depth; i++ )
{
header.Text += " ";
}
//资源名称
Literal name = new Literal();
name.Text = " " + drv["Name"].ToString() + " ";
PlaceHolderList.Controls.Add( header );
PlaceHolderList.Controls.Add( icon );
PlaceHolderList.Controls.Add( name );
Resource rs = new Resource( rid );
DataTable dtPrivilege = rs.GetPrivilegeList();
//添加资源可对应的权限
foreach( DataRow dr in dtPrivilege.Rows )
{
//创建一个CheckBox
HtmlInputCheckBox cbPrivilege = new HtmlInputCheckBox();
cbPrivilege.Value = dr["InstanceID"].ToString();
cbPrivilege.Checked = IsChecked( dr["InstanceID"].ToString());//该用户或者角色或者职位是否具有这种权限
//权限名
Literal cbText = new Literal();
cbText.Text = dr["Name"].ToString() + " ";
PlaceHolderList.Controls.Add( cbPrivilege );
PlaceHolderList.Controls.Add( cbText );
}
}
private void ButtonOK_Click(object sender, System.EventArgs e)
{
StringBuilder str = new StringBuilder();
foreach( System.Web.UI.Control ctrl in PlaceHolderList.Controls )
{
if ( ctrl is HtmlInputCheckBox )
if( ((HtmlInputCheckBox)ctrl).Checked )
str.Append( ((HtmlInputCheckBox)ctrl).Value + "," );
}
if( str.Length > 0 )
str.Remove( str.Length - 1, 1 );
RuleDB.SetRight( ResourceType, ResourceID, str.ToString() );
Alert( "权限设置成功!" );
}Top
20 楼_NET2004(.NET菜鸟)回复于 2006-03-05 08:50:46 得分 2
我的是放在一张表中Top
21 楼yanch1985(罐头)回复于 2006-03-05 13:00:04 得分 2
可以用DATALIST,在ITEMDATABOUND里用大菜单的ID去访问对应的小菜单,绑定个CHECKBOXLISTTop
22 楼Lukiya(路基亚)回复于 2006-03-05 13:34:56 得分 2
………………
上当上当,我加怎么是个男的……Top
23 楼nameone(过客)回复于 2006-03-05 15:14:44 得分 2
UPTop
24 楼wfz131(wfz131)回复于 2006-03-05 15:39:03 得分 0
哥哥们,各位有没有现成的例子,帮我一下呀。我都快急死了。Top
25 楼ivan19820109(流星雨)回复于 2006-03-05 15:46:34 得分 0
upTop
26 楼slyly()回复于 2006-03-05 17:20:03 得分 2
DataList 捆 DataListTop
27 楼mrshelly(Shelly)回复于 2006-03-05 18:21:48 得分 2
Lukiya(路基亚) ( ) 信誉:100 2006-3-5 13:34:56 得分: 0
………………
上当上当,我加怎么是个男的……
=================================
我哈我哈我哈哈哈~~~~~~~Top
28 楼wfz131(wfz131)回复于 2006-03-05 18:32:40 得分 0
谢谢哥哥们,我的问题已经解决.谢谢对小女子的关心Top




