1 MainPage.master的 Menu 是由 private void InitMenu()方法 调用App_Code下的SingleInitials.cs的 private static Menu InitMenu() 方法动态实现
private
void
InitMenu()
{
tdMenu.Controls.Add(SingleInitials.MenuList);
}
// App_Code SingleInitials.cs
private static Menu InitMenu()
{
Menu m_MenuList = new Menu();
m_MenuList.SkinID = " MainMenu " ;
m_MenuList.Items.Add( new MenuItem( " 首页 " , "" , "" , " ~ " ));
foreach (DataRow dr in m_drsLevel1)
{
string strL1ID = dr[FrameWork.ColDefine.ColLevel1.ID.ToString()].ToString();
MenuItem mi = new MenuItem(
dr[FrameWork.ColDefine.ColLevel1.Level1Name.ToString()].ToString(),
"" , "" , " ~/Displays/Level1.aspx?ID= " + strL1ID);
// 第二级菜单
DataRow[] drsL2 = m_dtLeve2.Select(FrameWork.ColDefine.ColLevel2.Level1ID.ToString() + " =' " + strL1ID + " ' " );
foreach (DataRow dr2 in drsL2)
{
mi.ChildItems.Add( new MenuItem(dr2[FrameWork.ColDefine.ColLevel2.Level2Name.ToString()].ToString(), "" , "" , " ~/Displays/Level2.aspx?ID= " + dr2[FrameWork.ColDefine.ColLevel2.ID.ToString()].ToString()));
}
m_MenuList.Items.Add(mi);
}
m_MenuList.Items.Add( new MenuItem( " 管理入口 " , "" , "" , " ~/Admin/Default.aspx " ));
m_MenuList.Items.Add( new MenuItem( " 留言 " , "" , "" , " ~/Visitor/LMsg.aspx " ));
return m_MenuList;
}
{
tdMenu.Controls.Add(SingleInitials.MenuList);
}
// App_Code SingleInitials.cs
private static Menu InitMenu()
{
Menu m_MenuList = new Menu();
m_MenuList.SkinID = " MainMenu " ;
m_MenuList.Items.Add( new MenuItem( " 首页 " , "" , "" , " ~ " ));
foreach (DataRow dr in m_drsLevel1)
{
string strL1ID = dr[FrameWork.ColDefine.ColLevel1.ID.ToString()].ToString();
MenuItem mi = new MenuItem(
dr[FrameWork.ColDefine.ColLevel1.Level1Name.ToString()].ToString(),
"" , "" , " ~/Displays/Level1.aspx?ID= " + strL1ID);
// 第二级菜单
DataRow[] drsL2 = m_dtLeve2.Select(FrameWork.ColDefine.ColLevel2.Level1ID.ToString() + " =' " + strL1ID + " ' " );
foreach (DataRow dr2 in drsL2)
{
mi.ChildItems.Add( new MenuItem(dr2[FrameWork.ColDefine.ColLevel2.Level2Name.ToString()].ToString(), "" , "" , " ~/Displays/Level2.aspx?ID= " + dr2[FrameWork.ColDefine.ColLevel2.ID.ToString()].ToString()));
}
m_MenuList.Items.Add(mi);
}
m_MenuList.Items.Add( new MenuItem( " 管理入口 " , "" , "" , " ~/Admin/Default.aspx " ));
m_MenuList.Items.Add( new MenuItem( " 留言 " , "" , "" , " ~/Visitor/LMsg.aspx " ));
return m_MenuList;
}
2 Admin/Default.aspx 实现网站整体管理
Admin/Level1.aspx 一级目录管理
//
web 页面 保存功能调用 逻辑层的 Save方法
private bool Save()
... {
try
...{
// check logical
if (txtName.Text == "")
...{
lbMsg.Text = "输入分类名称";
return false;
}
int showNo = 0;
if (!int.TryParse(txtShowNo.Text, out showNo))
...{
lbMsg.Text = "显示序号必须为数字";
return false;
}
int mID = 0;
int.TryParse(txtKeyID.Text, out mID);
return BLL.Level1.Save(mID, txtName.Text, showNo, int.Parse( ddlState.SelectedValue));
}
//BLL 调用 数据层 的save()方法
public static bool Save(int m_ID, string m_Level1Name, int m_ShowNo, int m_State)
...{
SWArtical.DataAccess.Level1 item = new SWArtical.DataAccess.Level1();
Initialize the paramas#region Initialize the paramas
item.ID = m_ID;
item.Level1Name = m_Level1Name;
item.ShowNo = m_ShowNo;
item.State = m_State;
#endregion
item.EditDate = DateTime.Now;
return item.Save();
}
//DLL 数据层最终用Insert() 方法 将数据插入 数据库
public override bool Save()
...{
if (this.m_ID == 0)
return this.Insert();
else
return this.Update();
}
public override bool Insert()
...{
string strInsertSql = string.Format("insert into Level1 (Level1Name, ShowNo, State, EditDate) values ('{0}', {1}, {2}, {3})", this.m_Level1Name.ToString(), this.m_ShowNo.ToString(), this.m_State.ToString(), this.DateConvert(this.m_EditDate));
return this.ExecuteNonQuery(strInsertSql) == 1;
}
private bool Save()
... {
try
...{
// check logical
if (txtName.Text == "")
...{
lbMsg.Text = "输入分类名称";
return false;
}
int showNo = 0;
if (!int.TryParse(txtShowNo.Text, out showNo))
...{
lbMsg.Text = "显示序号必须为数字";
return false;
}
int mID = 0;
int.TryParse(txtKeyID.Text, out mID);
return BLL.Level1.Save(mID, txtName.Text, showNo, int.Parse( ddlState.SelectedValue));
}
//BLL 调用 数据层 的save()方法
public static bool Save(int m_ID, string m_Level1Name, int m_ShowNo, int m_State)
...{
SWArtical.DataAccess.Level1 item = new SWArtical.DataAccess.Level1();
Initialize the paramas#region Initialize the paramas
item.ID = m_ID;
item.Level1Name = m_Level1Name;
item.ShowNo = m_ShowNo;
item.State = m_State;
#endregion
item.EditDate = DateTime.Now;
return item.Save();
}
//DLL 数据层最终用Insert() 方法 将数据插入 数据库
public override bool Save()
...{
if (this.m_ID == 0)
return this.Insert();
else
return this.Update();
}
public override bool Insert()
...{
string strInsertSql = string.Format("insert into Level1 (Level1Name, ShowNo, State, EditDate) values ('{0}', {1}, {2}, {3})", this.m_Level1Name.ToString(), this.m_ShowNo.ToString(), this.m_State.ToString(), this.DateConvert(this.m_EditDate));
return this.ExecuteNonQuery(strInsertSql) == 1;
}