EasyUI--は、ユーザ権限に基づいて、表示メニューの左(b)の左側のメニューを表示します

レンダリング:

 

ページのコード:

<%@ページ言語= " C#" AutoEventWireup属性= " 真の" 分離コード= " Home.aspx.csは、" 継承= " EasyUIWeb.Home "  %> 

<!DOCTYPE HTML > 

< HTML のxmlns = "http://www.w3.org/1999/xhtml" > 
< にrunat = "サーバー" > 
    < メタHTTP-当量= "Content-Typeの" コンテンツ= "text / htmlの、文字セット= UTF-8"  />
    > 
    < リンクのhref = "スクリプト/ jqueryの-easyui-1.7.0 /テーマ/デフォルト/ easyui.css" のrel = "スタイルシート"  /> 
    < リンクのhref = "CSS / wu.css" のrel = "スタイルシート"  /> 
    < リンクのhref = "CSS / icon.css" のrel = "スタイルシート"  /> 
    < スクリプトSRC = "スクリプト/ jqueryの-easyui-1.7.0 / jquery.min.js" > </ スクリプト> 
    < スクリプトSRC = "スクリプト/ jqueryの-easyui-1.7.0 / jquery.easyui.min.js」> </ スクリプト>
    < スクリプトSRC= "スクリプト/ jqueryの-easyui-1.7.0 /ロケール/ easyui-LANG-zh_CN.js" > </ スクリプト> 
    < スクリプトSRC = "スクリプト/公共/ Main.js" > </ スクリプト> 
    < スクリプトSRC =」スクリプト/ Menu.js " > </ スクリプト> 
     
</ ヘッド> 
< 身体クラス= "easyuiレイアウト" > 
    < divのクラス= "WU-ヘッダ" データ・オプション="地域: '北の'国境:偽、スプリット:真」> 
        < DIV クラス= "WU-ヘッダ左"> 
            < H1 > EasyUI Web管理</ H1 > 
        </ DIV > 
        < DIV クラス= "WU-ヘッダ右" > 
            < P > < 強いクラス= "easyui-ツールヒント" タイトル= "2条未读消息" >管理者</ 強い>、欢迎您! </ P > 
        </ DIV > 
    </ DIV > 
    < DIV クラス= "WU-サイドバー" データ・オプション= "地域: '西'、スプリット:真、ボーダー:真、タイトル: '导航菜单'" > 
        <DIV クラス= "easyui-アコーディオン" データオプション= "国境:偽、フィット:真の" ID = "RightAccordion" > </ DIV > 
    </ DIV > 

    < DIV クラス= "WU-メイン" データ・オプション= "地域: '中央'" > 
        < div要素のid =」 WU-タブ" クラス= "easyui-タブ" データ・オプション= "国境:偽、フィット:真の" >  
        </ DIV > 
    </ DIV > 

    < DIV クラス= "WU-フッタ" データ・オプション="地域:」南」、国境:真、スプリット:「真> 
        &コピー; 2013呉すべての権利予約
    </ DIV > 
</ ボディ> 
</ HTML >

 

JSコード:

$(関数(){ 
    $( "#RightAccordion")アコーディオン({。// 初始化アコーディオン 
        fillSpace:
        フィット:
        ボーダー:
        アニメーション:
    }); 

    VARのuserId = 1 ; 
    $アヤックス({ 
        タイプ: 'ポスト' 
        データ型: "JSON" 
        URL: "/Handlers/MenuHandler.ashx?action=LoadMenu&userId=" +はuserId + "&menuParId = '1'" 
        成功:関数(データ){
            の$ .each(データ、関数(I、N){
                 VAR menuID属性= n.id。

                $( '#RightAccordion')アコーディオン( '追加' 、{ 
                    タイトル:n.text、
                    選択された:
                    iconCls:n.iconCls、
                    コンテンツ: "<UL ID ="木" + menuID属性+" '> </ UL >」
                })。
                $ .parser.parse(); 
                $ .getJSON(
                     "/Handlers/MenuHandler.ashx?action=LoadMenu&userId=" +はuserId + "&menuParId = '" + menuID属性+ "'" ヌル機能(結果){//注意結果中的结果、ツリー必须的字段名称为:ID、テキスト、iconClsの
                        $( "#tree" + menuID属性).tree({  
                            データ:結果、
                            onBeforeExpand:機能(ノード、PARAM){ 
                                $( "#tree" + menuID属性).tree( 'オプション')URL = "/Handlers/MenuHandler.ashx?action=LoadMenu&userId=" +はuserId + "&menuParId = '" + node.menuId + "'" ; 
                            } 、
                            のonClick:機能(ノード){
                                 VAR tabTitle = node.text。
                                そこ URL =node.menuUrl;
                                VaRのアイコン= node.iconCls。
                                addTab(tabTitle、URL、アイコン)。

                                    } 
                            })。
                    } 
                ); 
            })
        } 
    })
})

// 选项卡
関数addTab(タイトル、URL、アイコン){
     場合($( '#WU-タブ')。タブ( '存在' 、タイトル)){ 
        $(「#WU-タブ').tabs('」を選択し、タイトル)。
    } {
         VARコンテンツ= '<IFRAMEスクロール= "auto"のFRAMEBORDER = "0" SRC = "' + URL + '"スタイル= "幅:100%;高さ:100%;"> </ IFRAME>' ; 
        $( '#WU-タブ')タブ( '追加' 、{ 
            タイトル:タイトル、
            コンテンツ:コンテンツ、
            閉鎖可能:
        })。
    } 
}

 

DALとBLLコード:

使用してSystem.Dataを。
使用してDBUtilityを。

名前空間DAL 
{ 
    パブリック クラスDAL_Menu 
    { 
        ///  <要約> 
        /// 根据用户ID查询有相关权限的菜单
         ///  </要約> 
        ///  <PARAM NAME = "はuserId"> </ PARAM> 
        ///  <リターン> </戻り> 
        パブリックデータセットGetUserMenuData(int型はuserId、ストリングmenuParId)
        { 
            文字列のSQL = @」iconCls、m.menuParId、Mと異なるテキスト(m.menuName)、m.menuId IDとして、m.menuIcon SELECT tb_usersユーザーから.menuUrl
INNER JOINはdbo.tb_users_role UR ON users.userId = ur.userId  
ur.roleId = RMB ON INNER JOIN dbo.tb_role_menu_button人民元を。 roleId
インナーrmb.menuId = m.menuId ON dbo.tb_menu mをJOIN 
users.userId = " +はuserId + " AND m.menuParId = " + menuParId + " によって順序をm.menuParId " ; 

            戻りDbHelperSQL.Query(SQL)を; 
        } 
    } 
} 






使用System.Collections.Genericを、
 使用System.Dataを、
 使用して一般的に、
 使用DALを、
 使用モデル、

名前空間BLL 
{ 
    パブリック クラスBLL_Menu 
    {
        プライベート 読み取り専用の DAL_MenuのDAL = 新しいです DAL_Menu();
         ///  <要約> 
        /// ユーザIDに関連するクエリの権限メニュー
         ///  </要約> 
        ///  <PARAM NAME = "はuserId"> </ param>の
        ///  </戻り> <返し>を
        パブリックリスト(<Model_Navigation> GetUserMenuData INTはuserId、ストリングmenuParId)
        { 
            データセットDSは = この.dal.GetUserMenuData(userIdを、menuParId)を、
             戻り ModelHandler <Model_Navigation> .FillModel(ds.Tablesを[ 0 ]); 
        } 
    } 
}

 

おすすめ

転載: www.cnblogs.com/zhaoyl9/p/11104117.html