<div id="mw5vb"><s id="mw5vb"></s></div>
  • <dl id="mw5vb"></dl>
  • 成都网站建设

    拥有10年以上经验丰富的网站制作团队,具备科学的建站流程和快速的客户服务体系

    成都网站建设专家

    整合营销专家

    短时间、快速?#21462;?#25805;作简单、低?#24230;?#21697;牌展示率

    成都整合营销专家

    网站优化推广

    包年网站优化,百度自然排名首页,真正实现点击不收费!

    成都网站优化推广

    主机域名

    集群式CDN加速,打开速度快速,利于优化排名

    独立IP主机
    您当前位置:成都网站建设 >> 新闻频道 >> 签约动态 >> 浏览文章

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


    时间: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?#22270;?#32493;上溯
    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()");

    文章由四川冠辰成都网站建设http://www.ex9p.com/2212.html编辑整理,转载请注明出处
    签约动态成都网站建设成都建站动态成都网站推广成都企业名录常见问题FAQ冠辰公告
    联系我们
    • 业务咨询:18782121200
    • 业务咨询:18080432432
    • 服务热线:028-86088588
    • 服务热线:028-62322623-0
    • 免费热线:400-000-2367
    • 传 真:028-62322623-823
    网站首页| 关于我们| 热门关键词| 付款方式| ?#25163;手?#20070;| 联系我们
    版权所有 Copyright © 2002-2013 四川冠辰科技开发有限公司www.ex9p.com 保留所有权利 蜀ICP备11012605号
    地址:四川省成都市金丰路6号量力钢铁交易大厦B座2010室 冠辰科技?#25163;手?#20070;
    服务热线: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>