借用 疯狂秀才 的页面,修改了一下自然框架后台管理的页面。

  不知道为什么,就是不喜欢extJS,昨天看到了疯狂秀才的页面,大家都说好,那我就借鉴一下吧。下载源码,加到aspx里面。运行,居然有js错误。一模一样的呀,怎么出错了?仔仔细细看了n遍,终于发现了不同的地方——多了一个表单<form > 。去掉了就ok了。

  然后就是修改菜单了。秀才的菜单是写死在页面里的js形式,我是喜欢动态加载的,于是用了一个古老的方法,在后台组合html,哦不对是js脚本了。

  写代码,运行,调试,ok。

private void BindNode()
        {
            string sql = "select * from  Manage_Function where IsShowNote = 1 and NoteLevel <=2 order by sort ";
            DataTable dt = dal_Customer.ExecuteFillDataTable(sql);
            StringBuilder str = new StringBuilder(3000);
            //开始循环
            int index = 0;
            bool beforeNodeIsFisrt = true;  //前一个节点是一级节点
            string url = "";
            foreach (DataRow dr in dt.Rows)
            {
                if (dr["NoteLevel"].ToString() == "1")
                {
                    //str.Append("\"menus\":[");
                    //一级节点
                    str.Append("{\"menuid\":\"" + dr["FunctionID"].ToString() + "\",\"icon\":\"icon-sys\",\"menuname\":\"" + dr["NoteTitle"].ToString() + "\",\r\n");
                    beforeNodeIsFisrt = true;
                }
                else
                {
                    //二级节点
                    if (beforeNodeIsFisrt)
                        str.Append("\"menus\":[");
                    //开始循环
                    url = dr["WebURL"].ToString();
                    url += "?fid=" + dr["FunctionID"].ToString();
                    str.Append("{\"menuname\":\"" + dr["NoteTitle"].ToString() + "\",\"icon\":\"icon-nav\",\"url\":\"" + url + "\"}");
                    //判断下一个节点是不是二级节点
                    if (dt.Rows.Count == index+1)
                    {
                        //最后一个节点
                        //二级节点循环结束
                        str.Append("]\r\n");
                        //一级节点循环结束
                        str.Append("}\r\n");
                    }
                    else
                    {
                        //判断下一个节点
                        if (dt.Rows[index + 1]["NoteLevel"].ToString() == "1")
                        {
                            //下一个节点是一级节点,结束这个二级节点
                            //二级节点循环结束
                            str.Append("]\r\n");
                            //一级节点循环结束
                            str.Append("},\r\n");
                        }
                        else
                        {
                            //下一个节点不是一级节点,继续循环二级节点
                            str.Append(",\r\n");
                        }
                    }
                    beforeNodeIsFisrt = false;
                    
                }
                
                index++;
            }

            nodeHTML = str.ToString();
        }

  看看新的页面,效果还可以。发个截图。

在线演示还没有更新,网上回去再更新。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏菩提树下的杨过

利用FileWatcher实现文件实时监视

FileWatcher能实现对某一目录的文件(新建,改名,内容修改,删除)的实时监视 using System; using System.IO; using ...

22880
来自专栏Porschev[钟慰]的专栏

asp.net生成静态页

做个生成静态页示例: 采用替换模版页的形式生成静态页 第一步:新建项目,创建一个简单模版页:TemplatePage.htm <!DOCTYPE html PU...

22860
来自专栏技术博客

Entity Framework CodeFirst尝试

Code First模式我们称之为“代码优先”模式,是从EF4.1开始新建加入的功能。使用Code First模式进行EF开发时开发人员只需要编写对应的数据类(...

11530
来自专栏智能大石头

【SmartOS】轻量级多任务调度系统

SmartOS是一个完全由新生命团队设计的嵌入式操作系统,主要应用于智能家居、物联网、工业自动化控制等领域。 ARM Cortex-M系列微处理器几乎全都做成...

432110
来自专栏岑玉海

RavenDb学习(九)高级特性下半部分

1.聚合缓存 RavenDb默认是缓存所有的请求url的,最大的缓存请求数默认是2048 documentStore.Conventions.ShouldCa...

32250
来自专栏菩提树下的杨过

socket中的byte消息格式设计

这二天在研究webabcd的socket多人聊天室,想尝试增加一些功能,比如:允许用户除发送文字外,还能发送图片或文件。 问题: socket发送数据时,只能发...

20570
来自专栏Ken的杂谈

C# MD5加密-MD5Helper

3.5K30
来自专栏魂祭心

原 WCF学习之旅----基础篇之Ente

27860
来自专栏木宛城主

ASP.NET那点不为人知的事(二)

上一篇博文《ASP.NET那点不为人知的事(一)》中我们提到HttpApplication有19个标准事件,在HttpApplication的第8个事件P...

23150
来自专栏程序你好

csharp代码每日一例:使用NPOI DLL 将Datatable数据导出为Excel文件

16120

扫码关注云+社区

领取腾讯云代金券