-------------------------------------
源代码下载/Files/singlepine/topmenu.rar
public
class
TopMenu : System.Web.UI.Page
{
protected DataRow[] father;
protected DataRow[] first;
protected DataRow[] second;
private void Page_Load(object sender, System.EventArgs e)
{
}
public static string ConnectionString=System.Configuration .ConfigurationSettings .AppSettings["ConnectionString"];
GetDataSet#region GetDataSet
public static DataSet GetDataSet(string sql)
{
SqlDataAdapter sda =new SqlDataAdapter(sql,ConnectionString);
DataSet ds=new DataSet();
sda.Fill(ds);
return ds;
}
#endregion
Web Form Designer generated code#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/**//**//**//// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
LoadTopMenu#region LoadTopMenu
protected string LoadTopMenu()
{
//IsBoot设置菜单级别,0一级,1二级,2三级,依此类推.
string sqlFather="select * from topmenu order by IsBoot";
DataSet dsFather=GetDataSet(sqlFather);
father=dsFather.Tables[0].Select("IsBoot=0","IsBoot");
string menu="";
int one=0;
int two=1;
int three=1;
foreach(DataRow drfather in father)
{
menu+="mpmenu"+one+"=new mMenu("+"'"+drfather["text"]+"'"+",'/','self','','','','');";
first=dsFather.Tables[0].Select("ParentID='"+Convert.ToInt32(drfather["ID"])+"' and IsBoot=1","IsBoot");
foreach(DataRow drfirst in first)
{
second=dsFather.Tables[0].Select("ParentID='"+Convert.ToInt32(drfirst["ID"])+"' and IsBoot=2","IsBoot");
if(second.Length==0)
{
menu+="mpmenu"+one+".addItem(new mMenuItem("+"'"+drfirst["text"]+"'";//description
menu+=","+"'"+drfirst["url"]+"'"+",";//url
menu+="'"+drfirst["target"]+"'"+",";//target
menu+=""+drfirst["visible"]+",";//是否可见,false可见,true不可见
menu+="'"+drfirst["status"]+"'"+",";//状态条
menu+="null,'','','',''));";
}
foreach(DataRow drsecond in second)
{
menu+="msub"+two+"=new mMenuItem("+"'"+drfirst["text"]+"','',"+"'"+drfirst["target"]+"'";
menu+=","+drfirst["visible"]+",";//是否可见,false可见,true不可见
menu+="'','1','','','','');";
menu+="msub"+three+".addsubItem(new mMenuItem("+"'"+drsecond["text"]+"'";//description
menu+=","+"'"+drsecond["url"]+"'"+",";//url
menu+="'"+drsecond["target"]+"'"+",";//target
menu+=""+drsecond["visible"]+",";//是否可见,false可见,true不可见
menu+="'"+drsecond["status"]+"'"+",";//状态条
menu+="null,'','','',''));";
menu+="mpmenu"+one+".addItem(msub"+two+");";//addItem
three++;
}
two++;
}
one++;
}
return menu;
}
#endregion
}
{
protected DataRow[] father;
protected DataRow[] first;
protected DataRow[] second;
private void Page_Load(object sender, System.EventArgs e)
{
}
public static string ConnectionString=System.Configuration .ConfigurationSettings .AppSettings["ConnectionString"];
GetDataSet#region GetDataSet
public static DataSet GetDataSet(string sql)
{
SqlDataAdapter sda =new SqlDataAdapter(sql,ConnectionString);
DataSet ds=new DataSet();
sda.Fill(ds);
return ds;
}
#endregion
Web Form Designer generated code#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/**//**//**//// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
LoadTopMenu#region LoadTopMenu
protected string LoadTopMenu()
{
//IsBoot设置菜单级别,0一级,1二级,2三级,依此类推.
string sqlFather="select * from topmenu order by IsBoot";
DataSet dsFather=GetDataSet(sqlFather);
father=dsFather.Tables[0].Select("IsBoot=0","IsBoot");
string menu="";
int one=0;
int two=1;
int three=1;
foreach(DataRow drfather in father)
{
menu+="mpmenu"+one+"=new mMenu("+"'"+drfather["text"]+"'"+",'/','self','','','','');";
first=dsFather.Tables[0].Select("ParentID='"+Convert.ToInt32(drfather["ID"])+"' and IsBoot=1","IsBoot");
foreach(DataRow drfirst in first)
{
second=dsFather.Tables[0].Select("ParentID='"+Convert.ToInt32(drfirst["ID"])+"' and IsBoot=2","IsBoot");
if(second.Length==0)
{
menu+="mpmenu"+one+".addItem(new mMenuItem("+"'"+drfirst["text"]+"'";//description
menu+=","+"'"+drfirst["url"]+"'"+",";//url
menu+="'"+drfirst["target"]+"'"+",";//target
menu+=""+drfirst["visible"]+",";//是否可见,false可见,true不可见
menu+="'"+drfirst["status"]+"'"+",";//状态条
menu+="null,'','','',''));";
}
foreach(DataRow drsecond in second)
{
menu+="msub"+two+"=new mMenuItem("+"'"+drfirst["text"]+"','',"+"'"+drfirst["target"]+"'";
menu+=","+drfirst["visible"]+",";//是否可见,false可见,true不可见
menu+="'','1','','','','');";
menu+="msub"+three+".addsubItem(new mMenuItem("+"'"+drsecond["text"]+"'";//description
menu+=","+"'"+drsecond["url"]+"'"+",";//url
menu+="'"+drsecond["target"]+"'"+",";//target
menu+=""+drsecond["visible"]+",";//是否可见,false可见,true不可见
menu+="'"+drsecond["status"]+"'"+",";//状态条
menu+="null,'','','',''));";
menu+="mpmenu"+one+".addItem(msub"+two+");";//addItem
three++;
}
two++;
}
one++;
}
return menu;
}
#endregion
}
3.数据库脚本
--
建表
if exists ( select * from dbo.sysobjects where id = object_id (N ' [dbo].[topmenu] ' ) and OBJECTPROPERTY (id, N ' IsUserTable ' ) = 1 )
drop table [ dbo ] . [ topmenu ]
GO
CREATE TABLE [ dbo ] . [ topmenu ] (
[ ID ] [ int ] NOT NULL ,
[ parentId ] [ int ] NOT NULL ,
[ text ] [ nvarchar ] ( 255 ) COLLATE Chinese_PRC_CI_AS NULL ,
[ url ] [ nvarchar ] ( 255 ) COLLATE Chinese_PRC_CI_AS NULL ,
[ target ] [ nvarchar ] ( 50 ) COLLATE Chinese_PRC_CI_AS NULL ,
[ IsBoot ] [ int ] NULL ,
[ visible ] [ nvarchar ] ( 50 ) COLLATE Chinese_PRC_CI_AS NULL ,
[ status ] [ nvarchar ] ( 50 ) COLLATE Chinese_PRC_CI_AS NULL
) ON [ PRIMARY ]
GO
-- 插入测试数据
insert into topmenu( [ ID ] , [ parentId ] , [ text ] , [ url ] , [ target ] , [ IsBoot ] , [ visible ] , [ status ] )
values ( 1 , 0 , ' 深圳 ' , ' http://singlepine.cnblogs.com/articles/259955.html ' , ' self ' , 0 , ' false ' , ' 深圳 ' )
insert into topmenu( [ ID ] , [ parentId ] , [ text ] , [ url ] , [ target ] , [ IsBoot ] , [ visible ] , [ status ] )
values ( 2 , 1 , ' 南山 ' , ' http://singlepine.cnblogs.com/articles/259955.html ' , ' self ' , 1 , ' false ' , ' 南山 ' )
insert into topmenu( [ ID ] , [ parentId ] , [ text ] , [ url ] , [ target ] , [ IsBoot ] , [ visible ] , [ status ] )
values ( 3 , 1 , ' 福田 ' , ' http://singlepine.cnblogs.com/articles/259955.html ' , ' self ' , 1 , ' false ' , ' 福田 ' )
insert into topmenu( [ ID ] , [ parentId ] , [ text ] , [ url ] , [ target ] , [ IsBoot ] , [ visible ] , [ status ] )
values ( 4 , 2 , ' 科技园 ' , ' http://singlepine.cnblogs.com/articles/259955.html ' , ' self ' , 2 , ' false ' , ' 科技园 ' )
insert into topmenu( [ ID ] , [ parentId ] , [ text ] , [ url ] , [ target ] , [ IsBoot ] , [ visible ] , [ status ] )
values ( 5 , 3 , ' 塞格 ' , ' http://singlepine.cnblogs.com/articles/259955.html ' , ' self ' , 2 , ' false ' , ' 塞格 ' )
insert into topmenu( [ ID ] , [ parentId ] , [ text ] , [ url ] , [ target ] , [ IsBoot ] , [ visible ] , [ status ] )
values ( 6 , 0 , ' 广州 ' , ' http://singlepine.cnblogs.com/articles/259955.html ' , ' self ' , 0 , ' false ' , ' 广州 ' )
insert into topmenu( [ ID ] , [ parentId ] , [ text ] , [ url ] , [ target ] , [ IsBoot ] , [ visible ] , [ status ] )
values ( 7 , 6 , ' 广州火车站 ' , ' http://singlepine.cnblogs.com/articles/259955.html ' , ' self ' , 1 , ' false ' , ' 广州火车站 ' )
if exists ( select * from dbo.sysobjects where id = object_id (N ' [dbo].[topmenu] ' ) and OBJECTPROPERTY (id, N ' IsUserTable ' ) = 1 )
drop table [ dbo ] . [ topmenu ]
GO
CREATE TABLE [ dbo ] . [ topmenu ] (
[ ID ] [ int ] NOT NULL ,
[ parentId ] [ int ] NOT NULL ,
[ text ] [ nvarchar ] ( 255 ) COLLATE Chinese_PRC_CI_AS NULL ,
[ url ] [ nvarchar ] ( 255 ) COLLATE Chinese_PRC_CI_AS NULL ,
[ target ] [ nvarchar ] ( 50 ) COLLATE Chinese_PRC_CI_AS NULL ,
[ IsBoot ] [ int ] NULL ,
[ visible ] [ nvarchar ] ( 50 ) COLLATE Chinese_PRC_CI_AS NULL ,
[ status ] [ nvarchar ] ( 50 ) COLLATE Chinese_PRC_CI_AS NULL
) ON [ PRIMARY ]
GO
-- 插入测试数据
insert into topmenu( [ ID ] , [ parentId ] , [ text ] , [ url ] , [ target ] , [ IsBoot ] , [ visible ] , [ status ] )
values ( 1 , 0 , ' 深圳 ' , ' http://singlepine.cnblogs.com/articles/259955.html ' , ' self ' , 0 , ' false ' , ' 深圳 ' )
insert into topmenu( [ ID ] , [ parentId ] , [ text ] , [ url ] , [ target ] , [ IsBoot ] , [ visible ] , [ status ] )
values ( 2 , 1 , ' 南山 ' , ' http://singlepine.cnblogs.com/articles/259955.html ' , ' self ' , 1 , ' false ' , ' 南山 ' )
insert into topmenu( [ ID ] , [ parentId ] , [ text ] , [ url ] , [ target ] , [ IsBoot ] , [ visible ] , [ status ] )
values ( 3 , 1 , ' 福田 ' , ' http://singlepine.cnblogs.com/articles/259955.html ' , ' self ' , 1 , ' false ' , ' 福田 ' )
insert into topmenu( [ ID ] , [ parentId ] , [ text ] , [ url ] , [ target ] , [ IsBoot ] , [ visible ] , [ status ] )
values ( 4 , 2 , ' 科技园 ' , ' http://singlepine.cnblogs.com/articles/259955.html ' , ' self ' , 2 , ' false ' , ' 科技园 ' )
insert into topmenu( [ ID ] , [ parentId ] , [ text ] , [ url ] , [ target ] , [ IsBoot ] , [ visible ] , [ status ] )
values ( 5 , 3 , ' 塞格 ' , ' http://singlepine.cnblogs.com/articles/259955.html ' , ' self ' , 2 , ' false ' , ' 塞格 ' )
insert into topmenu( [ ID ] , [ parentId ] , [ text ] , [ url ] , [ target ] , [ IsBoot ] , [ visible ] , [ status ] )
values ( 6 , 0 , ' 广州 ' , ' http://singlepine.cnblogs.com/articles/259955.html ' , ' self ' , 0 , ' false ' , ' 广州 ' )
insert into topmenu( [ ID ] , [ parentId ] , [ text ] , [ url ] , [ target ] , [ IsBoot ] , [ visible ] , [ status ] )
values ( 7 , 6 , ' 广州火车站 ' , ' http://singlepine.cnblogs.com/articles/259955.html ' , ' self ' , 1 , ' false ' , ' 广州火车站 ' )