測試文字功能,小工具,標題

記錄很重要,不然會浪費很多時間在找以前的記憶

一個人的氣度,決定他未來的高度。

2015年2月15日 星期日

ASP.NET Menu 控制項的一些記錄

1.Menu上的小的黑色三角型,如何拿掉?


 從 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);          
        }
    }

沒有留言:

張貼留言