• 【EasyUI】权限管理(三)显示tab页上的按钮


    效果图:

    页面代码:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BuyBill.aspx.cs" Inherits="EasyUIWeb.Pages.BuyBill" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <link href="../Script/jquery-easyui-1.7.0/themes/default/easyui.css" rel="stylesheet" />
        <link href="../css/wu.css" rel="stylesheet" />
        <link href="../css/icon.css" rel="stylesheet" />
        <script src="../Script/jquery-easyui-1.7.0/jquery.min.js"></script>
        <script src="../Script/jquery-easyui-1.7.0/jquery.easyui.min.js"></script>
        <script src="../Script/jquery-easyui-1.7.0/locale/easyui-lang-zh_CN.js"></script>
        <script src="../Script/Public/valid-zh.js"></script>
        <script src="../Script/Public/Common.js"></script>
    
        <script type="text/javascript">
            $(function () {
                //var userName = sessionStorage.getItem("userName"); 
                //if (userName == null || userName == "") {
                //    window.top.location.href = "../Login.aspx";
                //}
    
                var userId = getCookie("userID")
                //var menuCode = sessionStorage.getItem("menuCode");
    
                $.ajax({
                    type: 'post',
                    dataType: "json",
                    url: "/Handlers/ButtonHandler.ashx?action=LoadButton&userId=" + userId + "&menuCode=buy ",
                    success: function (data) {
                        $.each(data, function (i, n) {
                            $("#toolbar").append("<a class='easyui-linkbutton' id='btn" + n.menuCode + "' href='#' plain='true' iconcls='" + n.btnIcon + "'>" + n.btnName + "</a>");
                            $.parser.parse();
                        })
                    }
                })
            })
        </script>
    </head>
    <body>
        <h1>采购入库单</h1>
        <div id="toolbar">
        </div>
    </body>
    </html>

    ButtonHandler.ashx、DAL、BLL代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using Common.Web;
    using Model;
    using BLL;
    using Newtonsoft.Json;
    
    namespace EasyUIWeb.Handlers
    {
        /// <summary>
        /// ButtonHandler 的摘要说明
        /// </summary>
        public class ButtonHandler : IHttpHandler
        {
    
            public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "text/plain";
                var action = Request.GetQueryString("Action");
                try
                {
                    switch (action)
                    {
                        case "LoadButton":
                            this.LoadButton(context);
                            break;
    
                        default:
    
                            break;
                    };
                }
                catch (Exception ex)
                {
                    Response.OutResult(context, new MsgResult() { Success = false, Message = ex.ToString() });
                }
            }
    
            public void LoadButton(HttpContext context)
            {
                int userId = Request.GetQueryInt("userId", 0);
                string menuCode = Request.GetQueryString("menuCode");
    
                List<Model_tb_button> btnList = new BLL_Button().GetButtonByMenuAndUserID(userId, menuCode);
    
                string jsonStr = JsonConvert.SerializeObject(btnList);
    
                Response.WriteJson(context, jsonStr);
            }
    
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }
    }
    
    
    
    
    
    
    
    
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Linq;
    using System.Text;
    using Common;
    using DAL;
    using Model;
    
    namespace BLL
    {
        public class BLL_Button
        {
            private readonly DAL_Button dal = new DAL_Button();
            /// <summary>
            /// 根据菜单名称和用户id查询菜单上应该显示的按钮
            /// </summary>
            /// <param name="userId"></param>
            /// <returns></returns>
            public List<Model_tb_button> GetButtonByMenuAndUserID(int userId, string menuCode)
            {
                DataSet ds = this.dal.GetButtonByMenuAndUserID(userId, menuCode);
                return ModelHandler<Model_tb_button>.FillModel(ds.Tables[0]);
            }
        }
    }
    
    
    
    
    
    
    
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Linq;
    using System.Text;
    using DBUtility;
    using Model;
    
    namespace DAL
    {
        public class DAL_Button
        {
            /// <summary>
            /// 根据菜单名称和用户id查询菜单上应该显示的按钮
            /// </summary>
            /// <param name="userId"></param>
            /// <param name="menuCode"></param>
            /// <returns></returns>
            public DataSet GetButtonByMenuAndUserID(int userId, string menuCode)
            {
                string sql = @"SELECT b.* FROM dbo.tb_users u
                                            INNER JOIN dbo.tb_users_role ur ON u.userId = ur.userId
                                            INNER JOIN dbo.tb_role_menu_button rmb ON ur.roleId = rmb.roleId 
                                            INNER JOIN dbo.tb_button b ON rmb.btnId = b.btnId 
                                            INNER JOIN dbo.tb_menu m ON rmb.menuId = m.menuId
                                            WHERE u.userId="+userId+" AND m.menuCode='"+menuCode+"' ";
    
                return DbHelperSQL.Query(sql);
            }
        }
    }
    View Code
  • 相关阅读:
    Elispse快捷键
    cannot connect to daemon at tcp:5037: cannot connect to 127.0.0.1:5037: 由于目标计算机积极拒绝,无法连接。 (10061)
    android studio如何连接夜神模拟器
    Default Activity Not Found解决方法
    Android ANR log trace日志文件分析
    使用trace文件分析ANR
    ANR日志分析
    并发容器
    git上tag的一些操作
    final关键字与不变性
  • 原文地址:https://www.cnblogs.com/zhaoyl9/p/11121649.html
Copyright © 2020-2023  润新知