您的位置:首页 > 编程语言 > ASP

给Asp.Net Forums的后台管理菜单做一个树形外衣

2005-12-09 20:38 609 查看
今天上班的时候需要用到TreeView,突发奇想能不能给Asp.Net Forum的后台管理做一个树形的管理菜单呢?呵呵~~~,建议大家边听Metallica边写代码,比较有灵感哦..

第一步:建表如下

MenuNodeID

ParentNodeID

NodeText

LinkFile

HotDegree

Expanded

Int4autoseed

int

nVarChar

nVarChar

Int

bit

其他字段不用说了,其中HotDegree是一个记录该菜单的点击次数的字段,TM Messager不是新增加了一个热度吗?我们也加一个。Expanded字段设定该节点是否默认展开。然后增加几个存储过程。另外需要在表中增加一条默认的数据,不增加应该也可以的,在查询分析器中运行以下SQL代码,在项目的存储过程中作为存储过程加入后在Vs中运行也是一样的:

1 SET IDENTITY_INSERT ManageMenu ON
5 print '创建Menu默认数据'
6 IF EXISTS (SELECT * FROM ManageMenu WHERE NodeParentID = 0)
7 DELETE ManageMenu WHERE NodeParentID = 0
8
9 INSERT INTO
ManageMenu
(
MenuNodeID,NodeParentID,NodeText,LinkPath,HotDegree,ExPanded
)
VALUES
(
0,-1,'top','#',0,0
)
SET IDENTITY_INSERT ManageMenu OFF

--如果是在Vs中运行的化把GO去掉
GO

第二步:在Components/Components下增加Menu.cs如下:

1public class Menu
2public class Menus
public static Components.Menu PopulateMenu(IDataReader reader)
2 public abstract ArrayList GetParentNodes();
public abstract ArrayList GetChildNodes(int childnodeid);
public abstract int CreateUpdateDeleteMenu(Menu menu,DataProviderAction action);

第四步:在SqlDataProvider项目中的SqlDataProvider.cs中重写以上方法,这里再不赘述了。

第五步:在Web项目中增加ViewManageMenu.ascx控件,并引用IE WebControls控件

第六步:在Controls项目中增加ManageMenu.cs,大致分以下几部分:

1.装载皮肤样式,写Asp.Net Forums换肤的文章很多,大家可以参考,如果没有注意到那么可以到这里去看看
http://ode.cnblogs.com/archive/2005/11/06/270262.html
2.创建单个节点,写的比较乱,将就看吧,呵呵

1 private TreeViewNode CreateNode(string text,string linkpath,bool expanded)
9 private void PopulateSubTree(Components.Menu menu, TreeViewNode node)
ArrayList menus;
TreeViewNode treeviewnode;
menus = Menus.GetParentNode();
foreach(AnalyseOde.Components.Menu menu in menus)
{
treeviewnode = CreateNode(menu.Text,menu.LinkPath,menu.ExPanded);
treeview.Nodes.Add(treeviewnode);
PopulateSubTree(menu, treeviewnode);
if(menu.ParentID == -1)
{
break;
}
}
5.OK了。

第七步:把ViewManageMenu.ascx放入AdminMasterPage.ascx,完工。

这样做没有什么好处,只是一个小尝试罢了。

因为这些东西不是写在Asp.Net Forum中的,所以代码就无法提供了,还望谅解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐