`
pcajax
  • 浏览: 2102432 次
  • 性别: 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 "";

        }

分享到:
评论

相关推荐

    xtree.js 树形目录控件

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

    Ajax结合TreeView和XML生成树状图源码

    1.使用该控件需要空间支持目录写权限. 2.控件会在根目录下自动生成以下文档: 1.xml/xml/shopclass.xml //手动添加节点也可以 2.xml/xslt/shopclass.xsl 3.images //可以覆盖自己喜欢的图形 4.xml/xslt/...

    思特Web树型控件1.0(无限级js版)

    3、可动态增加或删除树节点,方便其它语言中AJAX动态加载。 4、兼容IE各版本、FireFox、谷歌、Safari、Opera等主流浏览器。 5、支持同一页显示多个树(定义不同的变量即可)。 6、无限级. 7、可设置以下的属性...

    jquery ajax TreeView asp.net改进版

    jquery的treeview 在显示大层次树是会卡死浏览器,我结合http://www.cnblogs.com/xuanye/archive/2009/10/26/1590250.html的改进版做的这个改进版(因为很多人没读他的源码,不知道怎么请求节点的处理页面),把asp...

    ASP.NET3.5从入门到精通

    目录 第一篇 .NET基础 第 1 章认识 ASP.NET 3.5 1.1 什么是ASP.NET 1.1.1 .NET 历史与展望 1.1.2 ASP.NET 与ASP 1.1.3 ASP.NET 开发工具 1.1.4 ASP.NET 客户端 1.1.5 ASP.NET 3.5 新增控件 1.1.6 ASP.NET 3.5 AJAX ...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    3.3.1 显示控件树 3.3.2 页头 3.3.3 动态控件的创建 3.4 Page类 3.4.1 Session、Application和Cache 3.4.2 Request 3.4.3 Response 3.4.4 Server 3.4.5 User 3.4.6 Trace 3.4.7 访问其他类中...

    ASP.NET 3.5 开发大全11-15

    16.2 ASP.NET 3.5AJAX控件 16.2.1 脚本管理控件(ScriptManger) 16.2.2 脚本管理控件(ScriptMangerProxy) 16.2.3 时间控件(Timer) 16.2.4 更新区域控件(UpdatePanel) 16.2.5 更新进度控件(UpdateProgress) ...

    ASP.NET 3.5 开发大全

    16.2 ASP.NET 3.5AJAX控件 16.2.1 脚本管理控件(ScriptManger) 16.2.2 脚本管理控件(ScriptMangerProxy) 16.2.3 时间控件(Timer) 16.2.4 更新区域控件(UpdatePanel) 16.2.5 更新进度控件(UpdateProgress) ...

    ASP.NET 3.5 开发大全1-5

    16.2 ASP.NET 3.5AJAX控件 16.2.1 脚本管理控件(ScriptManger) 16.2.2 脚本管理控件(ScriptMangerProxy) 16.2.3 时间控件(Timer) 16.2.4 更新区域控件(UpdatePanel) 16.2.5 更新进度控件(UpdateProgress) ...

    ExtAspNet_v2.3.2_dll

    -ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。 -加载s.gif图片在本机进行,不会请求extjs.com远程资源(feedback:efrigate43,abaocoole)...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。 -加载s.gif图片在本机进行,不会请求extjs.com远程资源(feedback:efrigate43,abaocoole)...

    ASP.NET4高级程序设计(第4版) 3/3

    3.3.1 显示控件树 78 3.3.2 页头 82 3.3.3 动态控件的创建 82 3.4 Page类 84 3.4.1 Session、Application和Cache 84 3.4.2 Request 85 3.4.3 Response 86 3.4.4 Server 88 3.4.5 User 90 3.4.6 ...

    深入浅出ExtJS PDF 扫描版

    通过学习本书,读者将感受到ExtJS的无穷魅力和Ajax技术带来的完美体验。 本书适合有一定CSS和HTML基础的开发者阅读。 目录: 第1章 EXT概述 第2章 EXT框架基础 第3章 表格控件 第4章 表单与输入控件 第5章 树形结构 ...

    深入浅出ExtJS学习PDF 文档下载

    通过学习本书,读者将感受到ExtJS的无穷魅力和Ajax技术带来的完美体验。 本书适合有一定CSS和HTML基础的开发者阅读。 目录: 第1章 EXT概述 第2章 EXT框架基础 第3章 表格控件 第4章 表单与输入控件 第5章 树形结构 ...

    JAVA上百实例源码以及开源项目

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    asp.net知识库

    一完美的关于请求的目录不存在而需要url重写的解决方案! 在C#中实现MSN消息框的功能 XmlHttp实现无刷新三联动ListBox 鼠标放在一个连接上,会显示图片(类似tooltip) 使用microsoft.web.ui.webcontrols的TabStrip与...

Global site tag (gtag.js) - Google Analytics