`
pcajax
  • 浏览: 2163393 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HTML ajax控件 目录树

阅读更多

  /// <summary>
        /// 目录树
        /// </summary>
        /// <param name="categoryid">目录ID,传0时,删除目录</param>
        /// <param name="questionid">问题ID,传0时,删除问题</param>
        /// <param name="gameID">游戏ID</param>
        /// <param name="ishavequestion">是不有问题存在</param>
        /// <param name="issuance">是否发布</param>
        /// <returns></returns>
        [AjaxPro.AjaxMethod]
        public static string MenuAndQuestionTree(int categoryid,int questionid,int gameID,int ishavequestion,int issuance)
        {
            //当category==0时,不删除
            if (categoryid != 0)
            {
                BllAccess.GetKbsCategory.DeleteCategory(categoryid);
            }

            //当questionid==0时,不删除
            if (questionid != 0)
            {
                BllAccess.GetKbsQuestion.DeleteQuestion(questionid);
            }
            DataTable dtTable = null;
            DataTable dtTable1 = null;
            DataTable dtTable2 = null;
            DataTable dtQuestion = null;
            if (-1 == issuance)//知识库,所有的
            {
                 dtTable = BllAccess.GetKbsCategory.GetCategorys(gameID, ENUM_KBS_CategoryIssuance.All);//目录中所有项,
                 dtTable1 = BllAccess.GetKbsCategory.GetCategorys(gameID, 1, ENUM_KBS_CategoryIssuance.All);//一级目录
                 dtTable2 = BllAccess.GetKbsCategory.GetCategorys(gameID, 2, ENUM_KBS_CategoryIssuance.All);//二级目录
                 dtQuestion = BllAccess.GetKbsQuestion.GetQuestions(0, ENUM_KBS_CategoryIssuance.All);//所有问题
            }
            else //系统自助后台,所有没有发布的
            {
                 dtTable = BllAccess.GetKbsCategory.GetCategorys(gameID, ENUM_KBS_CategoryIssuance.Yes);
                 dtTable1 = BllAccess.GetKbsCategory.GetCategorys(gameID, 1, ENUM_KBS_CategoryIssuance.Yes);
                 dtTable2 = BllAccess.GetKbsCategory.GetCategorys(gameID, 2, ENUM_KBS_CategoryIssuance.Yes);
                 dtQuestion = BllAccess.GetKbsQuestion.GetQuestions(0, ENUM_KBS_CategoryIssuance.All);
            }


            if (dtTable != null)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("<div style=\"border:solid 1px red;width:300px;float:left;\">");
                sb.Append("<div style=\"text-align:left;margin-left:0px;\"><img src=\"/Images/folder1.gif\" alt=\"menubutton\"><a href=\"#\" onclick=\"$('#bigdiv').toggle();\">" + BllAccess.ConfigService.GetGame(gameID).Game_Name + "</a></div>");
                sb.Append("<div id=\"bigdiv\">");
               
                if (dtTable != null)
                {
                    for (int intIndex = 0; intIndex < dtTable1.Rows.Count; intIndex++)
                    {
                        string strText = dtTable1.Rows[intIndex][KBS_Category.n_.CategoryName].ToString();
                        string strValue = dtTable1.Rows[intIndex][KBS_Category.n_.CategoryID].ToString();
                        sb.Append("<div style=\"text-align:left;margin-left:10px;\"><img src=\"/Images/folder1.gif\" alt=\"menubutton\"><a href=\"#\" onclick=\"GetMenuTreeID(1" + strValue + ",menu1div" + intIndex + ");\">" + strText + "</a></div>");
                        int tree1CategoryID = int.Parse(dtTable1.Rows[intIndex]["CategoryID"].ToString());

                       
                        if (dtTable2 != null)
                        {
                            sb.Append("<div id=\"menu1div"+intIndex+"\">");
                            for (int intIndex2 = 0; intIndex2 < dtTable2.Rows.Count; intIndex2++)
                            {
                                if (tree1CategoryID == int.Parse(dtTable2.Rows[intIndex2]["ParentCategoryID"].ToString()))
                                {
                                    string strText2 = dtTable2.Rows[intIndex2][KBS_Category.n_.CategoryName].ToString();
                                    string strValue2 = dtTable2.Rows[intIndex2][KBS_Category.n_.CategoryID].ToString();

                                    //在下面替换
                                    string strSecondMenuTemp = string.Empty;
                                    string strQuestion = string.Empty;
                                    strSecondMenuTemp = "<div style=\"text-align:left;margin-left:20px;\"><img src=\"/Images/folder1.gif\" alt=\"menubutton\"><a href=\"#\" onclick=\"GetMenuTreeID(2" + strValue2 + ",0);\">" + strText2 + "</a></div>";

                                    if (1 == ishavequestion && dtQuestion!=null)//有问题,且dtQuestion不为null时
                                    {
                                        for (int intQuestion = 0; intQuestion < dtQuestion.Rows.Count; intQuestion++)
                                        {
                                            int intLeve2CategoryID = int.Parse(dtTable2.Rows[intIndex2][KBS_Category .n_ .CategoryID].ToString());

                                           
                                            if (intLeve2CategoryID == int.Parse(dtQuestion.Rows[intQuestion][KBS_Question.n_.CategoryID].ToString()))
                                            {
                                                //有问题,且dtQuestion不为null时,
                                                strSecondMenuTemp = "<div style=\"text-align:left;margin-left:20px;\"><img src=\"/Images/folder1.gif\" alt=\"menubutton\"><a href=\"#\" onclick=\"GetMenuTreeID(2" + strValue2 + ",divQuestion" + intQuestion + ");\">" + strText2 + "</a></div>";

                                                strQuestion+="<div id=\"divQuestion" + intQuestion + "\" >";
                                                string strTextQuestion = dtQuestion.Rows[intQuestion][KBS_Question.n_.Question].ToString();
                                                string strValueQuestion = dtQuestion.Rows[intQuestion][KBS_Question.n_.QuestionID].ToString();
                                                strQuestion += "<div style=\"text-align:left;margin-left:30px;\"><img src=\"/Images/folder2.gif\" alt=\"menubutton\"><a href=\"#\" onclick=\"GetMenuTreeID(3" + strValueQuestion + ",0);\">" + strTextQuestion + "</a></div>";
                                                strQuestion+="</div>";
                                            }
                                        }
                                    }
                                  
                                    sb.Append(strSecondMenuTemp);
                                    sb.Append(strQuestion);
                                }
                            }
                            sb.Append("</div>");
                        }

                    }
                }
                sb.Append("</div>");
                sb.Append("</div>");
                return sb.ToString();
            }


            return "";

        }

分享到:
评论

相关推荐

    基于AJAX的目录树的设计与实现

    开发者可能使用了AjaxControlToolkit,这是一个包含许多预构建AJAX控件的库,可以简化AJAX功能的实现,比如TreeView控件可能就被用来构建目录树。 总之,这个项目展示了如何结合AJAX、Visual Studio 2008和SQL ...

    jstree目录树控件

    它在Web应用中扮演着目录树控件的角色,允许用户以树形结构展示数据,极大地提高了用户体验。jsTree支持多种操作,如节点的展开、折叠、添加、删除以及拖放功能,使其成为网页开发中的一个强大工具。 ### 主要特点 ...

    仿百度百科目录树控件

    在IT行业中,构建用户友好的界面是至关重要的,而目录树控件是组织大量信息、提供层次结构导航的常见方式。本项目名为“仿百度百科目录树控件”,旨在为开发者提供一个可自定义的解决方案,使其能够创建类似于百度...

    ajax获取嵌套JSON,树形控件显示

    这个“ajax获取嵌套JSON,树形控件显示”的示例主要涉及如何通过Ajax获取嵌套的JSON数据,并将其适配到ZTree的格式,以便在页面上以树形结构展示。 首先,我们需要理解JSON(JavaScript Object Notation)是一种轻...

    树控件树控件的小例子树控件的小例子树控件的小例子

    在ASP(Active Server Pages)中,树控件常用于构建导航菜单、目录结构或者层级关系的数据展示。下面我们将深入探讨树控件的概念、ASP中的实现方式以及相关知识点。 树控件,顾名思义,是以树形结构来显示数据的一...

    ajaxTree 无刷新树控件和例子

    **AjaxTree:无刷新树形控件详解** AjaxTree是一款基于AJAX技术实现的无刷新树形控件,它能够实现在用户交互时无需整个页面刷新,仅更新部分区域的功能,提高了网页应用的用户体验和效率。这个控件通常用于展现层次...

    asp目录树

    在提供的文件列表中,`nav.ascx`可能是导航栏用户控件,包含目录树的HTML和JavaScript;`copyright.ascx`可能是版权信息;`default.aspx`是网站的首页;`readme.aspx`可能是说明页面;`paging.aspx`涉及分页功能;`...

    ASP.NET AJAX的TreeView控件模板

    这个控件允许用户以树状结构浏览数据,通常用于菜单系统、目录结构或组织层次结构的显示。在ASP.NET AJAX中,TreeView控件结合了AJAX技术,提供异步更新功能,提升了用户体验,因为用户无需等待整个页面刷新即可与...

    AJAXTool 常用控件安装程序

    AJAXTool是一款集成了一系列常用AJAX控件的安装程序,旨在简化开发人员在Web应用程序中集成AJAX功能的过程。这个工具通常包含多个JavaScript库、组件和插件,以提升用户体验和交互性。以下是对AJAXTool及其控件的...

    ajax的tree树例子

    在本例中,我们关注的是如何利用Ajax实现一个动态加载的tree树结构,这种结构通常用于展示层级关系的数据,如组织结构、文件目录或者数据库的分类等。 首先,"tree"和"树"在这里指的是用户界面中的树形控件,它以...

    xtree.js 树形目录控件

    XTREE简介: XTREE是一个基于AJAX实现的树形菜单。它的原理就是每次都只加载当前结点下的所有结点,而对开发人员来说,就是只需要按一定的格式,生成一段XML代码。XTREE可以自己定制每个结点的ICON和链接。XTREE是...

    asp.net 目录树

    ASP.NET提供了多种控件来实现目录树功能,如TreeView控件。TreeView控件可以动态加载数据,并允许自定义节点样式和行为。 2. **数据源**: 生成目录树的第一步是获取文件系统中的目录和文件信息。这通常通过`...

    纯手写 目录树 treelist 无刷新

    总之,这个实例展示了如何在ASP.NET环境中手工创建一个具有无刷新效果的目录树,涉及到的技术包括:自定义控件开发、Ajax异步通信、JSON或XML数据交换以及C#后端处理。这样的技术组合可以为用户提供更高效、更直观的...

    IE树控件IE树控件IE树控件

    4. **AJAX技术**:为了提高用户体验,树控件通常使用AJAX异步加载数据。当用户展开一个节点时,只请求必要的子节点数据,而不是一次性加载整个树,这降低了页面加载时间。 5. **服务器端编程**:在服务器端,开发者...

    jstree-实用的jQuery目录树插件

    **jstree:jQuery的强力目录树插件** 在网页开发中,为了更好地展示层级结构的数据,目录树组件是不可或缺的工具。jstree是一款基于jQuery的开源插件,它提供了一种简单、灵活的方式来创建交互式的目录树结构。这款...

    JavaScript树形控件实现无限级树形菜单

    在众多的前端框架和技术中,基于AJAX技术的JavaScript树形控件因其强大的数据展示能力而被广泛应用。这类控件能够有效地展示具有层级结构的数据,并且可以方便地集成到各种Web应用中。 #### 二、无限级树形菜单的...

    DhtmlTreea Ajax树

    在Web开发中,树形控件是一种常见的UI元素,用于展示层次结构的数据,如目录结构、组织架构等。DhtmlTreea是一款基于Ajax技术的树形控件,它能够实现实时异步加载数据,提供用户友好的交互体验,无需页面刷新就能...

    ASP权限管理目录树

    2. 树形结构构建:使用ASP和HTML,配合treeview控件生成目录树。控件可以通过循环遍历数据库中的目录结构来动态生成节点。每个节点的数据包括其ID、名称和是否可选中等属性。 3. 权限绑定:将用户角色与目录树的...

    基于C# + jQuery的树形控件

    在IT领域,树形控件是一种常见的用户界面元素,它以层次结构展示数据,使得用户可以轻松地浏览和操作复杂的目录或数据结构。本项目聚焦于利用C#后端技术和jQuery前端库,构建一个功能丰富的、可扩展的、高效的树形...

    Easyui 树形控件展示

    2. 数据源:EasyUI 树形控件的数据可以通过 JSON 对象或远程数据(如 AJAX)提供。基本的 JSON 数据格式如下: ```json [ { "text": "父节点1", "children": [ { "text": "子节点1.1" }, { "text": "子节点1.2...

Global site tag (gtag.js) - Google Analytics