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

本文讲述了作者如何不喜欢extJS但受到疯狂秀才页面启发,进行页面改造的过程。通过下载源码并解决js错误,作者发现并移除了多余表单。接着,作者将静态菜单改为动态加载,采用后台生成js脚本的方式实现。改造后的页面效果良好,作者计划后续更新在线演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

  不知道为什么,就是不喜欢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();

        }

 

 

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

 

  

 

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

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值