借用 疯狂秀才 的页面,修改了一下自然框架后台管理的页面。
2010-05-21 15:12 金色海洋(jyk) 阅读(3701) 评论(10) 编辑 收藏 举报
不知道为什么,就是不喜欢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();
}
{
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();
}
看看新的页面,效果还可以。发个截图。
在线演示还没有更新,网上回去再更新。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2009-05-21 我写项目的思路和“自然架构”