<div id="mw5vb"><s id="mw5vb"></s></div>
  • <dl id="mw5vb"></dl>
  • 十年风雨路 · 一心铸精品

    接一个官网 留一件精品 做一个项目 树一块样板

    Asp.Net2.0权限树中Checkbox的操作

      这里使用asp.net2.0的TreeView控件结合javascript实现权限树的部分功能。  假设权限树中有如下三条规则:  1、该节点可以访问,则他的父节点也必能访问;  2、该节点可以访问,则他的子节点也都能访问;  3、该节点不可访问,则他的子节点也不能访问。代码如下://获取元素指定tagName的父元素function public_GetParentByTagName(element, tagName) { var parent = element.parentNo

    时间:2013年01月15日 点击量:

      这里使用asp.net2.0的TreeView控件结合javascript实现权限树的部分功能。
      假设权限树中有如下三条规则:
      1、该节点可以访问,则他的父节点也必能访问;
      2、该节点可以访问,则他的子节点也都能访问;
      3、该节点不可访问,则他的子节点也不能访问。

    代码如下:
    //获取元素指定tagName的父元素
    function public_GetParentByTagName(element, tagName)
    {
    var parent = element.parentNode;
    var upperTagName = tagName.toUpperCase();
    //如果这个元素还不是想要的tag就继续上溯
    while (parent && (parent.tagName.toUpperCase() != upperTagName))
    {
    parent = parent.parentNode ? parent.parentNode : parent.parentElement;
    }
    return parent;
    }

    //设置节点的父节点Cheched——该节点可访问,则他的父节点也必能访问
    function setParentChecked(objNode)
    {
    var objParentDiv = public_GetParentByTagName(objNode,"div");
    if(objParentDiv==null || objParentDiv == "undefined")
    {
    return;
    }
    var objID = objParentDiv.getAttribute("ID");
    objID = objID.substring(0,objID.indexOf("Nodes"));
    objID = objID+"CheckBox";
    var objParentCheckBox = document.getElementById(objID);
    if(objParentCheckBox==null || objParentCheckBox == "undefined")
    {
    return;
    }
    if(objParentCheckBox.tagName!="INPUT" && objParentCheckBox.type == "checkbox")
    return;
    objParentCheckBox.checked = true;
    setParentChecked(objParentCheckBox);
    }

    //设置节点的子节点uncheched——该节点不可访问,则他的子节点也不能访问
    function setChildUnChecked(divID)
    {
    var objchild = divID.children;
    var count = objchild.length;
    for(var i=0;i<objchild.length;i++)
    {
    var tempObj = objchild[i];
    if(tempObj.tagName=="INPUT" && tempObj.type == "checkbox")
    {
    tempObj.checked = false;
    }
    setChildUnChecked(tempObj);
    }
    }

    //设置节点的子节点cheched——该节点可以访问,则他的子节点也都能访问
    function setChildChecked(divID)
    {
    var objchild = divID.children;
    var count = objchild.length;
    for(var i=0;i<objchild.length;i++)
    {
    var tempObj = objchild[i];
    if(tempObj.tagName=="INPUT" && tempObj.type == "checkbox")
    {
    tempObj.checked = true;
    }
    setChildChecked(tempObj);
    }
    }

    //触发事件
    function CheckEvent()
    {

    var objNode = event.srcElement;

    if(objNode.tagName!="INPUT" || objNode.type!="checkbox")
    return;

    if(objNode.checked==true)
    {
    setParentChecked(objNode);
    var objID = objNode.getAttribute("ID");
    var objID = objID.substring(0,objID.indexOf("CheckBox"));
    var objParentDiv = document.getElementById(objID+"Nodes");
    if(objParentDiv==null || objParentDiv == "undefined")
    {
    return;
    }
    setChildChecked(objParentDiv);
    }
    else
    {
    var objID = objNode.getAttribute("ID");
    var objID = objID.substring(0,objID.indexOf("CheckBox"));
    var objParentDiv = document.getElementById(objID+"Nodes");
    if(objParentDiv==null || objParentDiv == "undefined")
    {
    return;
    }
    setChildUnChecked(objParentDiv);
    }
    }

    然后在page_load事件中将TreeView与js事件绑定上:

    this.TreeView1.Attributes.Add("onclick", "CheckEvent()");

    推荐案例

    • 成都森美啦园林绿化工程公

    • 四川尚恒科技有限公司

    • 成都九邦物流有限责任公司

    • 四川品睿餐饮管理有限公司

    • 美绘陶社陶艺手绘工作室-暖

    • 成都恩多施生物工程技术有

    • 汶川羌人土特产有限公司

    • 印刷设计公司网站No.3138

    联系我们 / CONTACT US

    • 四川省成都市金牛区五福桥东路229号龙湖北城天街28栋903室
    • 服务热线:400-000-2367 028-86088588
    • 总机:028-62322623-0
    • 传真:028-62322623-823

    扫码访?#20351;?#36784;手机网站

    版权所有 Copyright © 2002-2019 四川冠辰科技开发有限公司  www.ex9p.com 保留所有权利  蜀ICP备11012605号

    地址:四川省成都市金牛区五福桥东路229号龙湖北城天街28栋903室

    服务热线:400-000-2367 028-86088588 总机:028-62322623-0 传真:028-62322623-823

    北京pk10开奘结果查询
    <div id="mw5vb"><s id="mw5vb"></s></div>
  • <dl id="mw5vb"></dl>
  • <div id="mw5vb"><s id="mw5vb"></s></div>
  • <dl id="mw5vb"></dl>
  • 帕尔马vs卡利亚里直播 拜仁慕尼黑俱乐部主席 热刺逆转晋级 野生熊猫电子游艺 3d走势图综合版 埃瓦尔队的球衣上小李子什么意思 全民突击枪械觉醒列表 梦幻诛仙2新手卡 希拉尔对德黑兰独立 财富阶级游戏 幸运农场在线投注 点石成金漫画 我心狂野闯关 布伦瑞克vs沙尔克04 明日之后前期快速发展攻略 成都佛罗伦萨小镇 帕尔马vs卡利亚里直播 拜仁慕尼黑俱乐部主席 热刺逆转晋级 野生熊猫电子游艺 3d走势图综合版 埃瓦尔队的球衣上小李子什么意思 全民突击枪械觉醒列表 梦幻诛仙2新手卡 希拉尔对德黑兰独立 财富阶级游戏 幸运农场在线投注 点石成金漫画 我心狂野闯关 布伦瑞克vs沙尔克04 明日之后前期快速发展攻略 成都佛罗伦萨小镇