從 Menu 的屬性 StaticEnableDefaultPopOutImage 設定為 False
DynamicEnableDefaultPopOutImage 也要設定 False 不然Menu太多層會有問題
2.Menu增加選單
this.Menu1.Items.Add(new MenuItem("123", "123"));
this.Menu1.Items[0].ChildItems[0].ChildItems.Add(new MenuItem(" 456", "456"));
迴圈 Menu三層
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
for (int i = 0; i < 10; i++)
{
this.Menu1.Items.Add(new MenuItem(i.ToString(), i.ToString()));
for (int j = 0; j < 10; j++)
{
this.Menu1.Items[i].ChildItems.Add(new MenuItem(i.ToString() + " - " + j.ToString(), i.ToString() + " - " + j.ToString()));
for (int k = 0; k < 10; k++)
{
this.Menu1.Items[i].ChildItems[j].ChildItems.Add(new MenuItem(i.ToString() + " - " + j.ToString() + " - " + k.ToString(), i.ToString() + " - " + j.ToString() + " - " + k.ToString()));
}
}
}
}
}
做出Menu背景色,一整條的方式,配合WebUserControl
<div style="background-color: #2C5F93" >
<uc1:WebUserControl ID="WebUserControl1" runat="server" />
</div>
從資料庫取得資料做動態menu,20160827補充
==========================================================
private void user_menu_add()
{
//先取得menu資料,建立一個datatable
get_user_menu_data(Session["login_id"].ToString());
//再從table找出一層的資料
DataRow[] DR = dt.Select("menu_mid='1001'");
//進迴圈
foreach (var item in DR)
{
//先建立一個MenuItem
MenuItem menu_lv_1 = new MenuItem(item["menu_name"].ToString(), item["menu_oid"].ToString(), "", item["menu_url"].ToString());
//再去跑遞迴找這個MenuItem裡有無子結點
AddMenuItem(ref menu_lv_1, item["menu_oid"].ToString());
//最後加上MenuItem,這個MenuItem跑完遞迴後就會變成多個選單
Menu1.Items.Add(menu_lv_1);
}
Session["user_menu"] = Menu1;
}
//子結點遞迴,傳入MenuItem,跟要找的子結點id
private void AddMenuItem(ref MenuItem mitem, string PId)
{
String filterExpr = "menu_mid='" + PId + "'";
//進table查詢有無子結點資料
DataRow[] DR = dt.Select(filterExpr);
//跑迴圈
foreach (var item in DR)
{
//建立子結点
MenuItem menu_lv_n = new MenuItem(item["menu_name"].ToString(), item["menu_oid"].ToString(), "", item["menu_url"].ToString());
//再跑遞迴看看有無子結點
AddMenuItem(ref menu_lv_n, item["menu_oid"].ToString());
//最後加上子結點
mitem.ChildItems.Add(menu_lv_n);
}
}
沒有留言:
張貼留言