权限管理系统展示
1.通用增删改查


2.权限菜单控制


3.角色



4.用户


6.操作日志

8.部分代码展示:
/// <summary> /// 添加 /// </summary> /// <returns></returns> public IntResponse Add(Model.Employee model) { IntResponse rel = new IntResponse(); SqlHelper db = SqlHelper.Instance; SqlCommand cmd = db.GetSqlStringCommond(@" if exists(select 0 from Employee(nolock) where UserName=@UserName) begin set @ErrCode='1002' set @ErrMsg='用户已存在' end else begin INSERT INTO Employee ([UserName],[UserNick],[UserPwd],[Desciption],[IsDisable],[Note],[AddMan],[AddTime]) VALUES (@UserName,@UserNick,@UserPwd,@Desciption,@IsDisable,@Note,@AddMan,getdate()) end"); db.AddInParameter(cmd, "@UserName", SqlDbType.NVarChar, model.UserName); db.AddInParameter(cmd, "@UserNick", SqlDbType.NVarChar, model.UserNick); db.AddInParameter(cmd, "@UserPwd", SqlDbType.NVarChar, EncryptHelper.Md5(model.UserPwd.Trim())); db.AddInParameter(cmd, "@Desciption", SqlDbType.NVarChar, model.Desciption); db.AddInParameter(cmd, "@IsDisable", SqlDbType.Bit, model.IsDisable); db.AddInParameter(cmd, "@Note", SqlDbType.NVarChar, model.Note); db.AddInParameter(cmd, "@AddMan", SqlDbType.Int, model.AddMan); db.AddOutParameter(cmd, "@ErrCode", SqlDbType.NVarChar, 100); db.AddOutParameter(cmd, "@ErrMsg", SqlDbType.NVarChar, 100); int exRel = db.ExecuteNonQuery(cmd); var errCode = cmd.Parameters["@ErrCode"].Value ?? ""; if (string.IsNullOrEmpty(errCode.ToString())) { if (exRel > -1) { rel.Num = exRel; OperateLog.Instance.Add(cmd, 1002001, "添加用户"); } else { rel.ErrCode = "1001"; rel.ErrMsg = "指令执行失败"; } } else { rel.ErrCode = cmd.Parameters["@ErrCode"].Value.ToString(); rel.ErrMsg = cmd.Parameters["@ErrMsg"].Value.ToString(); } return rel; }
/// <summary> /// 获取一条数据 /// </summary> /// <param name="cacheTime">缓存时间</param> /// <param name="id"></param> /// <returns></returns> public ItemResponse<Model.Menu> GetModel(int cacheTime, int id) { if (cacheTime > 0) { ItemResponse<Model.Menu> item; string key = Global.Global.AppKey + "Fei.BLL.Menu-GetModel-" + cacheTime + id; object obj = CacheHelper.Get(key); if (obj == null) { item = dal.GetModel(id); if (!item.IsError) { CacheHelper.Set(key, obj, DateTime.Now.AddMilliseconds(cacheTime)); } } else { item = obj as ItemResponse<Model.Menu>; } return item; } else { return dal.GetModel(id); } }
//过滤器Validate 实现权限控制 [Validate(ValidateCode = "menu-list")] public ActionResult List([Bind(Prefix = "p1")]int pageIndex = 1) { ViewModels.MenuList vm = new ViewModels.MenuList(); vm.List = BLL.Menu.Instance.GetListForPermisson(0); if (vm.List.IsError) { throw new Exception("数据查询出错"); } return View(vm); }
/** *客户端生成页码条 *苗建龙 */ fei = {} fei.pageBar = function (config) { this.nowPage = 1; this.totalSize = 100; this.pageSize = 10; this.pageNumBarLength = 2; this.firstPageText = "首页"; this.upPageText = "上一页"; this.downPageText = "下一页"; this.lastPageText = "末页"; this.isSyncPageSize = false; this.callback = function (index) { alert(index); } for (var item in config) { this[item] = config[item]; } } fei.pageBar.prototype.render = function (id) { var me = this; this.container = document.getElementById(id) || document.body; this.container.innerHTML = ""; if (this.isSyncPageSize) { this._appendSyncPageSize(); } this.nowPage = parseInt(this.nowPage, 10); this.totalSize = parseInt(this.totalSize, 10); this.pageSize = parseInt(this.pageSize, 10); this.pageNumBarLength = parseInt(this.pageNumBarLength, 10); this.totalPage = Math.ceil(this.totalSize / this.pageSize) < 1 ? 1 : Math.ceil(this.totalSize / this.pageSize); if (this.nowPage < 1) { this.nowPage = 1; } if (this.totalSize < 1) { this.totalSize = 1; } this._getPageNumText(1, this.firstPageText); var up = this.nowPage - 1; if (up < 1) { up = 1; } this._getPageNumText(up, this.upPageText); this._appendPageNumBar(); var down = this.nowPage + 1; if (down > this.totalPage) { down = this.totalPage; } this._getPageNumText(down, this.downPageText); this._getPageNumText(this.totalPage, this.lastPageText); } fei.pageBar.prototype._appendSyncPageSize = function () { var me = this; var my = document.createElement("label"); my.innerHTML = "每页"; me.container.appendChild(my); var dom_pageSize = document.createElement("input"); dom_pageSize.setAttribute("type", "text"); //dom_pageSize.setAttribute("style", "width: 30px;"); dom_pageSize.setAttribute("value", this.pageSize.toString()); dom_pageSize.style.width = "25px"; var pageSizeChangeFn = function () { me.pageSize = parseInt(dom_pageSize.value, 10); } if (dom_pageSize.addEventListener) { dom_pageSize.addEventListener("keyup", pageSizeChangeFn, false); } else if (dom_pageSize.attachEvent) { dom_pageSize.attachEvent('onkeyup', pageSizeChangeFn); } else { dom_pageSize["onkeyup"] = pageSizeChangeFn; } me.container.appendChild(dom_pageSize); var t = document.createElement("label"); t.innerHTML = "条 "; me.container.appendChild(t); } fei.pageBar.prototype._appendPageNumBar = function () { var i = this.nowPage - this.pageNumBarLength; if (i < 2) { i = 2; } this._getPageNumText(1, "1", true); if (i > 2) { var split = document.createElement("i"); split.innerHTML = "..."; this.container.appendChild(split); } for (i; i < this.nowPage; i++) { this._getPageNumText(i, i, true); } var numMax = this.nowPage + this.pageNumBarLength; if (numMax > this.totalPage - 1) { numMax = this.totalPage - 1; } var j = this.nowPage; if (j < 2) { j = 2; } for (j; j <= numMax; j++) { this._getPageNumText(j, j, true); } if (numMax < this.totalPage - 1) { var split = document.createElement("i"); split.innerHTML = "..."; this.container.appendChild(split); } if (this.totalPage > 1) { this._getPageNumText(this.totalPage, this.totalPage, true); } } fei.pageBar.prototype._getPageNumText = function (pageNum, pageText, isNum) { var me = this; if (pageNum == me.nowPage) { if (isNum) { var nowNum = document.createElement("span"); nowNum.className = "active"; nowNum.setAttribute("class", "active"); } else { var nowNum = document.createElement("span"); } nowNum.innerHTML = pageText; me.container.appendChild(nowNum); } else { var num = document.createElement("a"); num.href = "javascript:void(0)"; if (!isNum) { num.className = "span"; num.setAttribute("class", "span"); } var fn = function () { me.callback.call(window, pageNum); } if (num.addEventListener) { num.addEventListener("click", fn, false); } else if (num.attachEvent) { num.attachEvent('onclick', fn); } else { num["onclick"] = fn; } num.innerHTML = pageText; this.container.appendChild(num); } }
本系统为个人兴趣开发。大部分代码使用自制代码生成器生成,前段样式css、HTML、js页码条、js弹出框等全部自己写出来的
生成器展示
http://www.cnblogs.com/fei85454645/p/4164531.html
本文链接http://www.cnblogs.com/fei85454645/articles/4186536.html

浙公网安备 33010602011771号