思路:
    数据库有三个表,权限表、角色表、权限-角色关联表,根据权限表里的数据在前台动态生成功能列表,同时为每个功能生成一个checkbox,并根据权限-角色关联表里保存的权限信息设置相应的checkbox为true或者false;
    当用户修改了checkbox后,根据前台所有checkbox的状态,把相应的权限信息保存入关联表。
请问这个前台生成的过程和前台所有控件状态的获取保存应该怎么实现比较好?

解决方案 »

  1.   

    将checkbox按照name属性来分组,比如员工角色统一命名为
    <input type="checkbox" name="chkEmployee" id="employee1" value="1" />
    <input type="checkbox" name="chkEmployee" id="employee2" value="1" />
    上面的name你可以绑定角色名,id你可以在绑定时用DataItem索引来生成
    后台获取这一组员工权限时Request.Form.Get("chkEmployee"),值为 1,2,5...这样的数组(可以直接应用于sql的in中)
      

  2.   

    存储:角色id,对应权限表id ,一对多关系
    页面:js就可以实现
    代码简单思路:先del后insert
      

  3.   

    试试这样:
    扫描所有checkbox的状态
    首先判断权限-角色关联表是否存在权限-角色这条记录
     if(存在这条记录)
      {if(checkbox为false)删除该记录
       else 更新
       }
     else if(checkbox为true) 添加记录
      

  4.   

    我当时的思路啊  比如1个TREEVIEW  一共 合计10项  那管理员工的权限就是1111111111    对于其他用户   可根据需要   把想隐藏的设置为0   然后直接把这个字符串  取出来以后用split拆``````不知道是不是LZ需要的
      

  5.   

    根据权限表里的数据在前台动态生成功能列表
    首先这个是利用Js来实现。通过遍历循环出所有的节点出来你上网搜这个 Dtree
    帮了找了几个参考的博客
    参考1参考2参考3
      

  6.   

    展示的过程,应该是以权限表为主表关联三个表,形成
    权限ID 权限名称 是否有权限 这种数据表,然后以这个数据表绑定checkboxlist ,有权限就选中,没有就不选;
    修改的过程可以是这样(事务执行):
    1、删除该用户所有权限
    2、遍历checkboxlist 把选中的权限插入权限-角色关联表