• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    EasyUI Tree+Asp.net实现权限树或目录树导航的简单实例

    复制代码 代码如下:

    %@ Page Language="C#" AutoEventWireup="true" CodeFile="Main.aspx.cs" Inherits="Manage_Main" %>

    !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    html xmlns="http://www.w3.org/1999/xhtml">
        head>
        meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        title>网站后台通用管理系统,%=adminname%>,您好!/title>
        link href="Css/default.css" rel="stylesheet" type="text/css" />
        !--easyui-->
        link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css" />
        link rel="stylesheet" type="text/css" href="easyui/themes/default/tree.css" />
        link rel="stylesheet" type="text/css" href="easyui/themes/icon.css" />
        script type="text/javascript" src="easyui/jquery-1.8.0.min.js">/script>
        script type="text/javascript" src="easyui/jquery.easyui.min.js">/script>
        script type="text/javascript" src='EasyUI/JQLoader.js'> /script>
        script type="text/javascript" src='EasyUI/outlook.js'> /script>
        script type="text/javascript">
            $(function () {
                $('#lefttree').tree({
                    animate: true,
                    checkbox: false,
                    url: 'GetTreeDataFromDB.ashx?father=0',
                    onClick: function (node) {
                        if (node.attributes != "") {
                            addTab(node.text, node.attributes, node.id);
                        }
                    },
                    onLoadSuccess: function (node, data) {
                        $('#lefttree').show();
                    }
                });

                $('#loginOut').click(function () {
                    $.messager.confirm('系统提示', '您确定要退出本次登录吗?', function (r) {
                        if (r) {
                            location.href = 'LoginExit.ashx';
                        }
                    });
                })
            });
        /script>
        /head>
        body class="easyui-layout" style="overflow-y: hidden"  scroll="no">
        form id="form1" runat="server">
          noscript>
          div style=" position:absolute; z-index:100000; height:2046px;top:0px;left:0px; width:100%; background:white; text-align:center;"> img src="images/noscript.gif" alt='抱歉,请开启脚本支持!' /> /div>
          /noscript>
          div region="north" split="true" border="false" style="overflow: hidden; height: 60px;
            background: url(images/layout-browser-hd-bg.gif) #7f99be repeat-x center 50%;
            line-height: 20px;color: #fff; font-family: Verdana, 微软雅黑,黑体">
            div style="float:right;padding-top:5px;padding-right:20px;text-align:right;"> span class="head">nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;/span>
              div style=" margin-top:6px;" class="head"> span class="icon icon-quit">nbsp;/span>a href="#" id="loginOut">安全退出/a> /div>
            /div>
            span style="padding-left:10px; font-size: 16px; ">img src="images/blocks.gif" width="20" height="20" align="absmiddle" />网站后台通用管理系统 V1.0/span> /div>
          div region="south" split="true" style="height: 30px; background: #D2E0F2; ">
            div class="footer"> 网站后台通用管理系统 %=adminname%>,您好! 版权所有@2012/div>
          /div>
          div region="west" hide="true" split="true" title="导航菜单" style="width:180px;" id="west">
            div id="nav" class="easyui-accordion" fit="true" border="false">
              !--  导航内容 -->
              div id="lefttree" style="margin:5px;">/div>
            /div>
          /div>
          div id="mainPanle" region="center" style="background: #eee; overflow-y:hidden">
            div id="tabs" class="easyui-tabs"  fit="true" border="false" >
              div title="欢迎使用" style="padding:20px;overflow:hidden; " > span style="font-size:18px;">欢迎进入系统/span> /div>
            /div>
          /div>
          div id="mm" class="easyui-menu" style="width:150px;">
            div id="mm-tabupdate">刷新/div>
            div class="menu-sep">/div>
            div id="mm-tabclose">关闭/div>
            div id="mm-tabcloseall">全部关闭/div>
            div id="mm-tabcloseother">除此之外全部关闭/div>
            div class="menu-sep">/div>
            div id="mm-tabcloseright">当前页右侧全部关闭/div>
            div id="mm-tabcloseleft">当前页左侧全部关闭/div>
            div class="menu-sep">/div>
            div id="mm-exit">退出/div>
          /div>
        /form>
    /body>
    /html>


    复制代码 代码如下:

    %@ WebHandler Language="C#" Class="GetTreeDataFromDB" %>

    using System;
    using System.Web;
    using System.Configuration;
    using System.Data;
    using System.Text;
    using System.Collections.Generic;
    //add
    using System.Web.Script.Serialization;

    public class GetTreeDataFromDB : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";

            //获取数据库中的分类数据
            string fatherid = context.Request.QueryString["father"];
            DataTable dt = createDT();

            string json = GetTreeJsonByTable(dt, "module_id", "module_name","module_url", "module_fatherid", "0");
            context.Response.Write(json);
            context.Response.End();       
        }

        #region 根据DataTable生成EasyUI Tree Json树结构
        StringBuilder result = new StringBuilder();
        StringBuilder sb = new StringBuilder();   
        /// summary>
        /// 根据DataTable生成EasyUI Tree Json树结构
        /// /summary>
        /// param name="tabel">数据源/param>
        /// param name="idCol">ID列/param>
        /// param name="txtCol">Text列/param>
        /// param name="url">节点Url/param>
        /// param name="rela">关系字段/param>
        /// param name="pId">父ID/param>
        private string GetTreeJsonByTable(DataTable tabel, string idCol, string txtCol, string url, string rela, object pId)
        {
            result.Append(sb.ToString());
            sb.Clear();
            if (tabel.Rows.Count > 0)
            {
                sb.Append("[");
                string filer = string.Format("{0}='{1}'", rela, pId);
                DataRow[] rows = tabel.Select(filer);
                if (rows.Length > 0)
                {
                    foreach (DataRow row in rows)
                    {
                        sb.Append("{\"id\":\"" + row[idCol] + "\",\"text\":\"" + row[txtCol] + "\",\"attributes\":\"" + row[url] + "\",\"state\":\"open\"");
                        if (tabel.Select(string.Format("{0}='{1}'", rela, row[idCol])).Length > 0)
                        {
                            sb.Append(",\"children\":");
                            GetTreeJsonByTable(tabel, idCol, txtCol,url, rela, row[idCol]);
                            result.Append(sb.ToString());
                            sb.Clear();
                        }
                        result.Append(sb.ToString());
                        sb.Clear();
                        sb.Append("},");
                    }
                    sb = sb.Remove(sb.Length - 1, 1);
                }
                sb.Append("]");
                result.Append(sb.ToString());
                sb.Clear();
            }
            return result.ToString();
        }
        #endregion


        #region 创建数据
        protected static DataTable createDT()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("module_id");
            dt.Columns.Add("module_name");
            dt.Columns.Add("module_fatherid");
            dt.Columns.Add("module_url");
            dt.Columns.Add("module_order");

            dt.Rows.Add("C1", "全国", "0", "1.aspx", "1");
            dt.Rows.Add("M01", "广东", "C1", "2.aspx", "1");

            dt.Rows.Add("M0101", "深圳", "M01", "3.aspx", "100");
            dt.Rows.Add("M010101", "南山区", "M0101", "4.aspx", "1000");
            dt.Rows.Add("M010102", "罗湖区", "M0101", "", "1001");
            dt.Rows.Add("M010103", "福田区", "M0101", "", "1002");
            dt.Rows.Add("M010104", "宝安区", "M0101", "", "1003");
            dt.Rows.Add("M010105", "龙岗区", "M0101", "", "1004");

            dt.Rows.Add("M01010301", "上梅林", "M010103", "", "1002001");
            dt.Rows.Add("M01010302", "下梅林", "M010103", "", "1002002");
            dt.Rows.Add("M01010303", "车公庙", "M010103", "", "1002003");
            dt.Rows.Add("M01010304", "竹子林", "M010103", "", "1002004");
            dt.Rows.Add("M01010305", "八卦岭", "M010103", "", "1002005");
            dt.Rows.Add("M01010306", "华强北", "M010103", "", "1002006");

            dt.Rows.Add("M0102", "广州", "M01", "", "101");
            dt.Rows.Add("M010201", "越秀区", "M0102", "", "1105");
            dt.Rows.Add("M010202", "海珠区", "M0102", "", "1106");
            dt.Rows.Add("M010203", "天河区", "M0102", "", "1107");
            dt.Rows.Add("M010204", "白云区", "M0102", "", "1108");
            dt.Rows.Add("M010205", "黄埔区", "M0102", "", "1109");
            dt.Rows.Add("M010206", "荔湾区", "M0102", "", "1110");
            dt.Rows.Add("M010207", "罗岗区", "M0102", "", "1111");
            dt.Rows.Add("M010208", "南沙区", "M0102", "", "1112");
            return dt;
        }
        #endregion


        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }


    复制代码 代码如下:

        #region 根据DataTable生成EasyUI Tree Json树结构 
        StringBuilder result = new StringBuilder(); 
        StringBuilder sb = new StringBuilder();     
        /// summary> 
        /// 根据DataTable生成EasyUI Tree Json树结构 
        /// /summary> 
        /// param name="tabel">数据源/param> 
        /// param name="idCol">ID列/param> 
        /// param name="txtCol">Text列/param> 
        /// param name="url">节点Url/param> 
        /// param name="rela">关系字段/param> 
        /// param name="pId">父ID/param> 
        private string GetTreeJsonByTable(DataTable tabel, string idCol, string txtCol, string url, string rela, object pId) 
        { 
            result.Append(sb.ToString()); 
            sb.Clear(); 
            if (tabel.Rows.Count > 0) 
            { 
                sb.Append("["); 
                string filer = string.Format("{0}='{1}'", rela, pId); 
                DataRow[] rows = tabel.Select(filer); 
                if (rows.Length > 0) 
                { 
                    foreach (DataRow row in rows) 
                    { 
                        sb.Append("{\"id\":\"" + row[idCol] + "\",\"text\":\"" + row[txtCol] + "\",\"attributes\":\"" + row[url] + "\""); 
                        if (tabel.Select(string.Format("{0}='{1}'", rela, row[idCol])).Length > 0) 
                        { 
                            //点击展开
                            sb.Append(",\"state\":\"closed\",\"children\":"); 
                            GetTreeJsonByTable(tabel, idCol, txtCol,url, rela, row[idCol]); 
                            result.Append(sb.ToString()); 
                            sb.Clear(); 
                        } 
                        result.Append(sb.ToString()); 
                        sb.Clear(); 
                        sb.Append("},"); 
                    } 
                    sb = sb.Remove(sb.Length - 1, 1); 
                } 
                sb.Append("]"); 
                result.Append(sb.ToString()); 
                sb.Clear(); 
            } 
            return result.ToString(); 
        } 
        #endregion  

    您可能感兴趣的文章:
    • 浅谈EasyUi ComBotree树修改 父节点选择的问题
    • EasyUi combotree 实现动态加载树节点
    • 轻松学习jQuery插件EasyUI EasyUI创建树形菜单
    • Jquery easyui 实现动态树
    • jquery中EasyUI实现异步树
    • jquery中EasyUI实现同步树
    • jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
    • EasyUI创建人员树的实例代码
    上一篇:asp.net webservice返回json的方法
    下一篇:asp.net(C#)生成Code39条形码实例 条码枪可以扫描出
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    EasyUI Tree+Asp.net实现权限树或目录树导航的简单实例 EasyUI,Tree+Asp.net,实现,权限,