Asp.Net里面实现左边的菜单栏 菜单都是在数据库里面查询的,根据用户的权限动态生成的,第二张图片是在WinForm里面做的,现在想在Web里面做出一模一样的功能,如何把菜单输出到页面上呢?并且是按照对应的主菜单进行显示的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主可以用Treeview来实现动态隐藏节点! TreeNode tn0, tn00, tn01, tn02, tn03, tn04, tn05, tn06, tn1, tn10, tn11, tn12, tn13, tn14, tn2, tn20, tn21, tn22, tn23, tn24, tn3, tn4, tn5; tn0 = this.TreeView1.Nodes[0]; tn00 = this.TreeView1.Nodes[0].ChildNodes[0]; tn01 = this.TreeView1.Nodes[0].ChildNodes[1]; tn02 = this.TreeView1.Nodes[0].ChildNodes[2]; tn03 = this.TreeView1.Nodes[0].ChildNodes[3]; tn04 = this.TreeView1.Nodes[0].ChildNodes[4]; tn05 = this.TreeView1.Nodes[0].ChildNodes[5]; tn06 = this.TreeView1.Nodes[0].ChildNodes[6]; tn1 = this.TreeView1.Nodes[1]; tn10 = this.TreeView1.Nodes[1].ChildNodes[0]; tn11 = this.TreeView1.Nodes[1].ChildNodes[1]; tn12 = this.TreeView1.Nodes[1].ChildNodes[2]; tn13 = this.TreeView1.Nodes[1].ChildNodes[3]; tn14 = this.TreeView1.Nodes[1].ChildNodes[4]; tn2 = this.TreeView1.Nodes[2]; tn20 = this.TreeView1.Nodes[2].ChildNodes[0]; tn21 = this.TreeView1.Nodes[2].ChildNodes[1]; tn22 = this.TreeView1.Nodes[2].ChildNodes[2]; tn23 = this.TreeView1.Nodes[2].ChildNodes[3]; tn24 = this.TreeView1.Nodes[2].ChildNodes[4]; tn3 = this.TreeView1.Nodes[3]; tn4 = this.TreeView1.Nodes[4]; tn5 = this.TreeView1.Nodes[5]; string qx = Session["qx"].ToString(); string name = Session["uname"].ToString(); if (qx == "17") { this.TreeView1.Nodes[2].ChildNodes.Remove(tn20); this.TreeView1.Nodes[2].ChildNodes.Remove(tn21); this.TreeView1.Nodes[2].ChildNodes.Remove(tn22); this.TreeView1.Nodes[2].ChildNodes.Remove(tn24); this.TreeView1.Nodes.Remove(tn0); this.TreeView1.Nodes.Remove(tn1); } else if (name == "admin" && qx == "1") { this.TreeView1.Visible = true; } else if (qx == "2") { this.TreeView1.Nodes[1].ChildNodes.Remove(tn11); this.TreeView1.Nodes[1].ChildNodes.Remove(tn13); this.TreeView1.Nodes[1].ChildNodes.Remove(tn14); this.TreeView1.Nodes[2].ChildNodes.Remove(tn22); this.TreeView1.Nodes[2].ChildNodes.Remove(tn23); this.TreeView1.Nodes[2].ChildNodes.Remove(tn24); this.TreeView1.Nodes.Remove(tn0); this.TreeView1.Nodes.Remove(tn4); this.TreeView1.Nodes.Remove(tn5); this.TreeView1.Nodes.Remove(tn3); } else if (qx == "5") { this.TreeView1.Nodes[0].ChildNodes.Remove(tn03); this.TreeView1.Nodes.Remove(tn1); this.TreeView1.Nodes.Remove(tn2); this.TreeView1.Nodes.Remove(tn3); this.TreeView1.Nodes.Remove(tn4); this.TreeView1.Nodes.Remove(tn5); } else if (qx == "6") { this.TreeView1.Nodes[1].ChildNodes.Remove(tn10); this.TreeView1.Nodes[1].ChildNodes.Remove(tn12); this.TreeView1.Nodes.Remove(tn0); this.TreeView1.Nodes.Remove(tn2); this.TreeView1.Nodes.Remove(tn3); this.TreeView1.Nodes.Remove(tn4); this.TreeView1.Nodes.Remove(tn5); } else if (qx == "16") { this.TreeView1.Nodes[2].ChildNodes.Remove(tn20); this.TreeView1.Nodes[2].ChildNodes.Remove(tn21); this.TreeView1.Nodes[2].ChildNodes.Remove(tn23); this.TreeView1.Nodes.Remove(tn0); this.TreeView1.Nodes.Remove(tn1); this.TreeView1.Nodes.Remove(tn3); this.TreeView1.Nodes.Remove(tn4); this.TreeView1.Nodes.Remove(tn5); } else if (qx == "20") { this.TreeView1.Nodes[0].ChildNodes.Remove(tn00); this.TreeView1.Nodes[0].ChildNodes.Remove(tn01); this.TreeView1.Nodes[0].ChildNodes.Remove(tn02); this.TreeView1.Nodes[0].ChildNodes.Remove(tn04); this.TreeView1.Nodes[0].ChildNodes.Remove(tn05); this.TreeView1.Nodes[0].ChildNodes.Remove(tn06); this.TreeView1.Nodes[1].ChildNodes.Remove(tn10); this.TreeView1.Nodes[1].ChildNodes.Remove(tn11); this.TreeView1.Nodes[1].ChildNodes.Remove(tn12); this.TreeView1.Nodes[1].ChildNodes.Remove(tn14); this.TreeView1.Nodes[2].ChildNodes.Remove(tn22); this.TreeView1.Nodes[2].ChildNodes.Remove(tn23); this.TreeView1.Nodes[2].ChildNodes.Remove(tn24); this.TreeView1.Nodes.Remove(tn3); this.TreeView1.Nodes.Remove(tn4); this.TreeView1.Nodes.Remove(tn5); } else { this.TreeView1.Visible = false; } 怎么不好控制啊,我上面不是说了吗, if (qx == "17")如果 if (权限 == "")隐藏你要隐藏的字段! 我在WinForm里面是用的一个控件,然后一个循环就全部出来了,我就是想知道在Web里面如何把菜单输出来啊。 private void Menu_Load() { dt_role = new BLL.sys_SetRoleManager().GetUserRoleByUserID(allensingleton.UserID); _outlookBar = new LumiSoft.UI.Controls.WOutlookBar.WOutlookBar(); //_outlookBar.BorderStyle = BorderStyle.FixedSingle; _outlookBar.ImageList = imageList; _outlookBar.ImageListSmall = imageList; _outlookBar.Dock = DockStyle.Fill; _outlookBar.ItemClicked += wOutlookBar_ItemClicked; _outlookBar.BarClicked += wOutlookBar_BarClicked; _outlookBar.ViewStyle.BarClientAreaColor = Color.White; _outlookBar.ViewStyle.BarItemHotTextColor = Color.Black; _outlookBar.ViewStyle.BarItemTextColor = Color.Black; Item it = null; Bar bar = null; string strMenu = string.Empty; for (int i = 0; i < dt_role.Rows.Count; i++) { if (string.IsNullOrEmpty(strMenu) || strMenu != dt_role.Rows[i]["MenuGroupName"].ToString()) { bar = _outlookBar.Bars.Add(dt_role.Rows[i]["MenuGroupName"].ToString()); bar.ItemsStyle = ItemsStyle.IconSelect; strMenu = dt_role.Rows[i]["MenuGroupName"].ToString(); } it = bar.Items.Add(dt_role.Rows[i]["FunctionName"].ToString(), dt_role.Rows[i]["FrmName"].ToString(), int.Parse(dt_role.Rows[i]["ICO"].ToString()), true, dt_role.Rows[i]["FrmName"].ToString()); it.AllowStuck = false; } ploutlookBar.Controls.AddRange(new Control[] { _outlookBar }); } 一个比较常用的方法.webservice处理数据读取,把你从数据库里取出的数据封装成json或者xml字符串对象.前台ajax调用webservice.接收到这个字符串,用each解一下输出成dt dl或者tr td就行了 我现在得到的数据本身就是一个 dt 啊,只是不知道如何把 dt 里面的内容输出到网页上,我试过:StringBuilder sb = new StringBuilder();sb.Append()虽然上面的代码可以输出来,但是还是不够完善。 我现在的数据本身就是一个 dt,如何把dt里面的内容呈现在页面? 你去百度搜个js导航菜单样式,然后 通过后台代码控制生成HTML页面代码的方式 很容易实现,找个js+css导航菜单就行了 帮我看看哪个ASP探针速度快 如何在GRIDVIEW动态添加模板列,且提高可重用性 如果双方都不关闭连接,这个连接是不是就一直保持着?? 让大家休闲以下:南京发现不名飞行物,持续18秒,有视频记录! 现在学Asp.net+C#,想知道学好C#,过程都主要有什么? 怎么获得对数据库的排它访问权 如何通过子窗体来刷新父窗体(急!!!!!!!!)在线等等待 如题 新手问题 索引超出范围。必须为非负值并小于集合大小。可是测试的结果不是如此,why?大大的加分 关于全局搜索 url重写为什么加了.html就找不到页面了
tn0 = this.TreeView1.Nodes[0];
tn00 = this.TreeView1.Nodes[0].ChildNodes[0];
tn01 = this.TreeView1.Nodes[0].ChildNodes[1];
tn02 = this.TreeView1.Nodes[0].ChildNodes[2];
tn03 = this.TreeView1.Nodes[0].ChildNodes[3];
tn04 = this.TreeView1.Nodes[0].ChildNodes[4];
tn05 = this.TreeView1.Nodes[0].ChildNodes[5];
tn06 = this.TreeView1.Nodes[0].ChildNodes[6];
tn1 = this.TreeView1.Nodes[1];
tn10 = this.TreeView1.Nodes[1].ChildNodes[0];
tn11 = this.TreeView1.Nodes[1].ChildNodes[1];
tn12 = this.TreeView1.Nodes[1].ChildNodes[2];
tn13 = this.TreeView1.Nodes[1].ChildNodes[3];
tn14 = this.TreeView1.Nodes[1].ChildNodes[4];
tn2 = this.TreeView1.Nodes[2];
tn20 = this.TreeView1.Nodes[2].ChildNodes[0];
tn21 = this.TreeView1.Nodes[2].ChildNodes[1];
tn22 = this.TreeView1.Nodes[2].ChildNodes[2];
tn23 = this.TreeView1.Nodes[2].ChildNodes[3];
tn24 = this.TreeView1.Nodes[2].ChildNodes[4];
tn3 = this.TreeView1.Nodes[3];
tn4 = this.TreeView1.Nodes[4];
tn5 = this.TreeView1.Nodes[5];
string qx = Session["qx"].ToString();
string name = Session["uname"].ToString();
if (qx == "17")
{
this.TreeView1.Nodes[2].ChildNodes.Remove(tn20);
this.TreeView1.Nodes[2].ChildNodes.Remove(tn21);
this.TreeView1.Nodes[2].ChildNodes.Remove(tn22);
this.TreeView1.Nodes[2].ChildNodes.Remove(tn24);
this.TreeView1.Nodes.Remove(tn0);
this.TreeView1.Nodes.Remove(tn1); }
else if (name == "admin" && qx == "1")
{
this.TreeView1.Visible = true;
}
else if (qx == "2")
{
this.TreeView1.Nodes[1].ChildNodes.Remove(tn11);
this.TreeView1.Nodes[1].ChildNodes.Remove(tn13);
this.TreeView1.Nodes[1].ChildNodes.Remove(tn14);
this.TreeView1.Nodes[2].ChildNodes.Remove(tn22);
this.TreeView1.Nodes[2].ChildNodes.Remove(tn23);
this.TreeView1.Nodes[2].ChildNodes.Remove(tn24);
this.TreeView1.Nodes.Remove(tn0);
this.TreeView1.Nodes.Remove(tn4);
this.TreeView1.Nodes.Remove(tn5);
this.TreeView1.Nodes.Remove(tn3);
}
else if (qx == "5")
{
this.TreeView1.Nodes[0].ChildNodes.Remove(tn03);
this.TreeView1.Nodes.Remove(tn1);
this.TreeView1.Nodes.Remove(tn2);
this.TreeView1.Nodes.Remove(tn3);
this.TreeView1.Nodes.Remove(tn4);
this.TreeView1.Nodes.Remove(tn5);
}
else if (qx == "6")
{
this.TreeView1.Nodes[1].ChildNodes.Remove(tn10);
this.TreeView1.Nodes[1].ChildNodes.Remove(tn12);
this.TreeView1.Nodes.Remove(tn0);
this.TreeView1.Nodes.Remove(tn2);
this.TreeView1.Nodes.Remove(tn3);
this.TreeView1.Nodes.Remove(tn4);
this.TreeView1.Nodes.Remove(tn5); } else if (qx == "16")
{
this.TreeView1.Nodes[2].ChildNodes.Remove(tn20);
this.TreeView1.Nodes[2].ChildNodes.Remove(tn21);
this.TreeView1.Nodes[2].ChildNodes.Remove(tn23);
this.TreeView1.Nodes.Remove(tn0);
this.TreeView1.Nodes.Remove(tn1);
this.TreeView1.Nodes.Remove(tn3);
this.TreeView1.Nodes.Remove(tn4);
this.TreeView1.Nodes.Remove(tn5);
}
else if (qx == "20")
{
this.TreeView1.Nodes[0].ChildNodes.Remove(tn00);
this.TreeView1.Nodes[0].ChildNodes.Remove(tn01);
this.TreeView1.Nodes[0].ChildNodes.Remove(tn02);
this.TreeView1.Nodes[0].ChildNodes.Remove(tn04);
this.TreeView1.Nodes[0].ChildNodes.Remove(tn05);
this.TreeView1.Nodes[0].ChildNodes.Remove(tn06);
this.TreeView1.Nodes[1].ChildNodes.Remove(tn10);
this.TreeView1.Nodes[1].ChildNodes.Remove(tn11);
this.TreeView1.Nodes[1].ChildNodes.Remove(tn12);
this.TreeView1.Nodes[1].ChildNodes.Remove(tn14);
this.TreeView1.Nodes[2].ChildNodes.Remove(tn22);
this.TreeView1.Nodes[2].ChildNodes.Remove(tn23);
this.TreeView1.Nodes[2].ChildNodes.Remove(tn24);
this.TreeView1.Nodes.Remove(tn3);
this.TreeView1.Nodes.Remove(tn4);
this.TreeView1.Nodes.Remove(tn5);
}
else
{
this.TreeView1.Visible = false;
}
{
dt_role = new BLL.sys_SetRoleManager().GetUserRoleByUserID(allensingleton.UserID);
_outlookBar = new LumiSoft.UI.Controls.WOutlookBar.WOutlookBar();
//_outlookBar.BorderStyle = BorderStyle.FixedSingle;
_outlookBar.ImageList = imageList;
_outlookBar.ImageListSmall = imageList;
_outlookBar.Dock = DockStyle.Fill;
_outlookBar.ItemClicked += wOutlookBar_ItemClicked;
_outlookBar.BarClicked += wOutlookBar_BarClicked;
_outlookBar.ViewStyle.BarClientAreaColor = Color.White;
_outlookBar.ViewStyle.BarItemHotTextColor = Color.Black;
_outlookBar.ViewStyle.BarItemTextColor = Color.Black;
Item it = null;
Bar bar = null;
string strMenu = string.Empty;
for (int i = 0; i < dt_role.Rows.Count; i++)
{
if (string.IsNullOrEmpty(strMenu) || strMenu != dt_role.Rows[i]["MenuGroupName"].ToString())
{
bar = _outlookBar.Bars.Add(dt_role.Rows[i]["MenuGroupName"].ToString());
bar.ItemsStyle = ItemsStyle.IconSelect;
strMenu = dt_role.Rows[i]["MenuGroupName"].ToString();
} it = bar.Items.Add(dt_role.Rows[i]["FunctionName"].ToString(), dt_role.Rows[i]["FrmName"].ToString(),
int.Parse(dt_role.Rows[i]["ICO"].ToString()), true, dt_role.Rows[i]["FrmName"].ToString());
it.AllowStuck = false;
}
ploutlookBar.Controls.AddRange(new Control[] { _outlookBar });
}
webservice处理数据读取,把你从数据库里取出的数据封装成json或者xml字符串对象.
前台ajax调用webservice.接收到这个字符串,用each解一下输出成dt dl或者tr td就行了
我现在得到的数据本身就是一个 dt 啊,只是不知道如何把 dt 里面的内容输出到网页上,
我试过:
StringBuilder sb = new StringBuilder();
sb.Append()
虽然上面的代码可以输出来,但是还是不够完善。
我现在的数据本身就是一个 dt,如何把dt里面的内容呈现在页面?